如何将密码传递给sudo命令?

分享于 

1分钟阅读

电脑

  繁體 雙語

问题:

在OSX上


sudo route delete default


sudo route add default 192.168.178.1



更改默认网关。

在运行一个sh文件时,每次都需要一个密码。 我就像

sh changegw.sh

如何在手前传递密码?


回答 1:

对于 sudo,有一个-S选项可以接受来自标准输入的密码。 这是个人入口:


-S The -S (stdin) option causes sudo to read the password from


 the standard input instead of the terminal device.



这将允许你运行如下命令:


echo myPassword | sudo -S ls/tmp




回答 2:

尽管最简单地将脚本运行为 root,但也可以在中创建一个可以运行程序的组。

但是,我从未亲自完成过,无法向你的sudoers文件推荐特定的行。



COM  COMM  Comma  password  commands  SUDO