我正在自动创buildSubversion版本库和相关网站,正如我在这篇博文中所描述的。 我遇到的问题正好在我su到www-data用户运行以下命令的部分:
svnadmin create /svn/repository
在脚本的开始处有一个检查,确保它以root或sudo身份运行,并且一个命令之后的所有内容都需要以root用户身份运行。 有没有一种很好的方式来运行一个命令作为万维网数据,然后切换回到根完成?
在你的脚本运行的脚本中使用su - www-data -c 'svnadmin create /svn/repository' 。 所以只有这个命令是由www-data用户运行的。
用'su'可能是请求密码,www-data没有密码。 我推荐命令sudo :
sudo -u www-data command
条件是您的用户必须是root用户,或者在sudoers文件中进行configuration
使用su :
su [options] [username] The options which apply to the su command are: -c, --command COMMAND Specify a command that will be invoked by the shell using its -c.