执行 sudo 命令下避免输入密码的两个方法

来源:互联网 发布:php防止表单模拟提交 编辑:程序博客网 时间:2024/04/29 15:49

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)。只是,这种两种方法均需要将明文密码保存在脚本中,如果被别人看到这个脚本,就会知道系统密码了。


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

0 0