Linux

作為不同的使用者,如何從另一個腳本呼叫 bash 腳本?

  • January 14, 2010

可能重複:

以其他使用者身份執行 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以 anyuser 身份執行應該不是問題。

我試過類似的東西:

su svnsync; /path/to/init-mirror.sh $REPO; exit

並得到奇怪的結果。你應該怎麼做?當遠端如此簡單時,它可能在本地是可能的,對吧?(現在,讓我們假設不能以相同的“svnsync”使用者執行外部腳本。)

我認為問題標題很爛,所以如果可以的話,請幫我改寫。

以不同使用者身份執行 shell 腳本的副本。我想你可以自己關閉它嗎?

引用自:https://serverfault.com/questions/102687