执行sudo时避免输入密码 脚本用,不使用visudo直接关闭密码

From: http://ifedora.diandian.com/post/2012-02-28/15816554

sudo 命令默认是通过终端设备读取密码,这样每次执行命令都需要用户输入密码后才能继续运行。但对于需要定时执行的脚本,就只能修改 sudo 读取密码的方法了。下面分别是一个关机和一个重启脚本的例子:

采用重定向的方法(关机)

#!/bin/bash

sudo -S shutdown -h now <<EOF

password

EOF

利用管道(重启)

#!/bin/bash

echo password | sudo -S shutdown -r now

其中选项 -S(S是大写的)是使 sudo 命令用标准输入替代终端输入,这样 sudo 命令就可以从脚本中读取到密码(即脚本中的 password)。只是,这种两种方法均需要将明文密码保存在脚本中,如果被别人看到这个脚本,就会知道系统密码了。

原文地址:https://www.cnblogs.com/super119/p/2503960.html