2012-08-14 371 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 
相关问题