如何以不同用户身份从另一个脚本调用 bash 脚本?

如何以不同用户身份从另一个脚本调用 bash 脚本?

可能重复:
以不同用户身份运行 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 脚本。我想你可以自己关闭它?

相关内容