可能重复:
以不同用户身份运行 shell 脚本
在编写脚本自动初始化 SVN 镜像存储库时(同步),我又一次遇到了问题使用另一个用户的权限启动另一个脚本。
#!/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
以任何用户身份执行都不会有问题。
我尝试过类似的事情:
su svnsync; /path/to/init-mirror.sh $REPO; exit
并得到奇怪的结果。你应该怎么做?当远程操作如此简单时,很可能可能的本地,对吧?(现在,我们假设以相同的“svnsync”用户身份运行外部脚本不是一种选择。)
我认为问题标题很糟糕,所以如果可以的话,请帮我重新措辞。
答案1
重复的以不同用户身份运行 shell 脚本。我想你可以自己关闭它?