Answers:
只需su - www-data -c 'svnadmin create /svn/repository'
在由root运行的脚本中使用即可。因此,只有www-data用户可以运行此命令。
未来观众的更新:
如果出现"This account is currently not available"
错误,请考虑使用:
su - www-data -s /bin/bash -c 'svnadmin create /svn/repository'
(@Petr关于-s
标志的有价值的提及,以适应www-data
用户的非登录策略)
This account is currently not available.
su - www-data -s /bin/bash -c 'your_command'
,使这项工作。用户www-data具有外壳程序,/usr/sbin/nologin
因此如果没有该-s
参数,它将导致错误消息。
使用“ su”可能是要求输入密码,而www-data没有密码。我推荐命令sudo
:
sudo -u www-data command
条件是您的用户必须是root用户,或者必须在sudoers文件中配置
2可能的方法:
1)sudo
命令:
在大多数情况下,您将可以访问该sudo
命令,因此解决方案很简单:
sudo -u target_user target_command
2)su
命令(如果未安装sudo Ex. alpine-linux images
):
su - target_user -c 'target_command'
如果您收到“此帐户当前不可用”错误,则该用户具有有效的不登录(shell访问)策略。如果是这样,请考虑使用:
su - target_user -s /bin/bash -c 'target_command'
(基于@Petr关于-s
标志的有价值的评论,以适应www-data
用户的不登录策略)