我有一些freebsd服务器,但没有sudo。但是我想用root自动运行一些命令,就像下面的命令一样:
def autodeploy(url):
with cd('/tmp'):
if not exists('releasetar.sh'):
put('/tmp/releasetar.sh', 'releasetar.sh', mode=0644)
run("wget '{}'".format(url))
run('su - -m -c "cd /tmp && bash /tmp/releasetar.sh"')
带有su
选项的su
适用于linux,但不适用于freebsd。我怎样才能解决这个问题?我希望你的解决方案可以在linux和freebsd上运行。谢谢你的回答~ ~
如果使用的是fabric,只需从命令行中提供-u参数,以指定要以哪个用户身份运行任务
fab -u root <task name>
有关命令行中的更多选项,请查看http://docs.fabfile.org/en/1.7/usage/fab.html#command-line-options
也可以通过编程方式设置用户名
从端口(
/usr/ports/security/sudo
)安装sudo
。在相关问题 更多 >
编程相关推荐