我試圖通過一個簡單的腳本創建一個Linux終端菜單。在腳本中,它會有一些命令提交一個作業(例如一個shell腳本)作爲另一個沒有密碼提示的用戶。在Linux上作爲另一個用戶運行腳本
我能找到以下帖子,這工作。 how to run script as another user without password 但是,有一方面的影響。看來用戶可以在我不想要的用戶文件夾中運行其他腳本。
任何建議/幫助歡迎。
爲了這個。這裏是我的:
用戶名
temp1
,這是將運行菜單的用戶。 UID = 1001(temp1中),GID = 1001(temp1中),基團= 1001(temp1目錄)用戶名
wayne
,這是腳本必須提交,以運行該作業 UID = 1000(韋恩用戶),GID = 1000(韋恩),基團= 1000(韋恩),4(ADM),24(CDROM),27(須藤),30(DIP)...腳本
script1.sh
,script2.sh
通過wayne
資。-rwxr-xr-x script1.sh -rwxr-xr-x script2.sh
如果我試圖去
/home/wayne
爲temp1
用戶我得到拒絕的權限(預期)我設定的腳本和chmod 700
wayne
。所以從技術上講,除了wayne
之外,沒有人能運行它們。我已經編輯sudo的文件,並有以下條目:
temp1 ALL(wayne) NOPASSWD: /home/wayne/script1.sh
當我運行命令
su -c "/home/wayne/script1.sh" -s /bin/sh wayne
運行腳本(如預期)當我運行命令
su -c "/home/wayne/script2.sh" -s /bin/sh wayne
腳本運行(不期望)。
任何想法?
您的examplar問題與您的問題之間的一個區別另一個問題是使用'user1 ALL =(user2)NOPASSWD:/ home/user2/bin/test.sh',但是在你的版本中省略了'='。這可能是所有的錯誤;它可能是無辜的。這值得檢查。 – 2014-11-22 18:24:11
我確信它有相等的結果。輸出由wayne擁有,所以我知道它正在運行正確的腳本。 – Xathras 2014-11-22 23:49:37
任何人都可以幫忙嗎? – Xathras 2014-11-24 02:18:06