2012-08-14 78 views
0

我需要使用shell腳本在兩個用戶之間切換。切換用戶而不提示輸入shell腳本中的密碼

我用su和sudo在用戶之間切換。最重要的是,它每次都會提示用戶密碼,我不希望發生這種情況。

我知道密碼;有沒有一種方法可以在腳本中對其進行硬編碼,以便它不會提示用戶輸入密碼?

+0

表明你做了什麼,並試圖? – Vijay 2012-08-14 12:53:43

+0

'su root systemctl restart postgresql.service' 我的部分代碼 – 2012-08-14 12:56:42

+0

請參閱http://unix.stackexchange.com/questions/7747/is-it-possible-to-su-without-being-prompted-for-一個密碼 – 2012-08-14 13:07:59

回答

1

sudoers中的NOPASSWD子句不工作嗎?例如:

user1 ALL=(ALL:ALL) NOPASSWD: /bin/su user2 

允許user1 su到user2沒有密碼。如果你只需要爲user2運行某些命令,添加到sudoers(通過visudo)明確:

user1 ALL=(user2) NOPASSWD: /path/to/command 

然後爲user1運行:

sudo -k user2 /path/to/command 
相關問題