可能重复:
以不同的用户身份运行一个shell脚本
在编写脚本来自动化SVN镜像仓库( svnsync )的初始化时,我又遇到了一些问题,试图用另一个用户的权限启动另一个脚本 。
#!/bin/sh # This outer script is always run with root privileges ("sudo create-repo.sh") # Create repository, set privileges, etc [...] # Set up remote mirror; this works fine! (SSH key authentication) ssh svnsync@anotherserver /var/lib/svn/init-mirror.sh $REPO # Set up local mirror as "svnsync" user # ???
我如何在同一台机器上调用另一个脚本作为另一个用户? 请注意,外部脚本始终以root用户身份执行,因此任何用户都不应该成为问题。
我尝试了这样的:
su svnsync; /path/to/init-mirror.sh $REPO; exit
并得到奇怪的结果。 你应该怎么做? 当它很容易远程时,它可能在本地,对吧? (现在,让我们假装运行外部脚本,因为同一个“svnsync”用户不是一个选项。)
我认为问题标题很糟糕,所以如果可以的话,请帮助我解释一下。
重复以不同的用户身份运行一个shell脚本 。 我想你可以自己closures它?