使bash脚本可用而不使用ssh

问题描述 投票:1回答:1

我有一个简单的bash脚本(myscript.sh)。

mysqldump -u busql mydb mytable1 mytable2 mytable3 | mysql -u busql mydb2 && rsync --progress --stats -av --chown=mydomain.de:psacln /var/www/vhosts/mydomain.com/httpdocs/pictures/master/product/1/* /var/www/vhosts/mydomain.de/httpdocs/pictures/master/product/1/

因此,基本上,脚本从db1转储3个表并将它们插入db2,将所有图片从mydomain.com复制到mydomain.de,并将所有复制图片的用户从mydomain.com复制到mydomain.de。

现在,我想使我的同事可以使用此脚本(一键式),而无需授予他们SSH访问我们服务器的权限。

我首先想到的是通过html / php使此脚本可用。但是这里的问题是该脚本需要以root用户身份运行才能更改复制文件的用户/所有者。我想从/与mydomain.com用户一起运行脚本,但心胸开阔。而且似乎没有safe解决方案可以从php页面作为根用户运行此脚本。

我可以让mydomain.com用户更改文件所有者的权利,或者您建议在没有ssh访问权限的情况下使此脚本可用?!>

将来还会有其他具有文件所有者的脚本,这些脚本需要我的同事容易使用。因此,我认为这里可能是最好的解决方案...

我有一个简单的bash脚本(myscript.sh)。 mysqldump -u busql mydb mytable1 mytable2 mytable3 | mysql -u busql mydb2 && rsync --progress --stats -av --chown = mydomain.de:psacln / var / www / vhosts / ...

bash shell sh sudo
1个回答
0
投票

chown实际上是仅root用户操作。更改所有权的通常方法是允许目标用户(mydomain.de)对文件进行读取访问,然后以该用户身份复制文件。

© www.soinside.com 2019 - 2024. All rights reserved.