2009-11-16 69 views
3

執行shell腳本能有人給通過sudo用戶運行shell腳本的例子嗎?如何通過sudo用戶

我試過這樣。

須藤的/ usr/local/sbin中/部署| ./tmp/cp1.sh

上述腳本被作爲普通用戶並不像須藤用戶執行。

回答

6

使用此命令,deploy腳本在root用戶下執行,但./tmp/cp1.sh腳本由當前shell以當前特權運行。爲了避免這種情況,你可以前綴sudo來兩個:

sudo /usr/local/sbin/deploy | sudo ./tmp/cp1.sh 

或者你可以產卵從sudo的內殼,所以殼已經以root運行:

sudo sh -c '/usr/local/sbin/deploy | ./tmp/cp1.sh' 
+2

但是請記住,通過提供用戶密碼,這也就是爲什麼,國際海事組織,不應該被一個安全的系統上啓用,當你使用sudo產卵掀起了外殼,您剛剛創建一個root shell。 – Dmitri 2011-10-23 22:22:26

0

的問題是,當你想要這樣做,你需要擁有sudo密碼並且位於sudoers文件中,否則會失敗。 但是你可以嘗試使用gksudo(sudo的圖形版本),所以當它被調用時,要求輸入密碼。

+0

嗨, 感謝您的答覆.... 是否有任何其他的方式來做到這一點,而無需輸入密碼... – 2009-11-16 16:03:57