是否可以编写一个运行 su 或 sudo 命令而不输入密码的脚本?

是否可以编写一个运行 su 或 sudo 命令而不输入密码的脚本?

是否可以编写一个无需输入密码即可运行su或命令的脚本?sudo我用谷歌搜索,它说su不会从缓冲区读取密码。那么有什么解决办法吗?

答案1

据我所知有两种方法:

好主意

为特定用户或组进行设置时sudo,可以使用文件ALL=NOPASSWD中的选项/etc/sudoers

有关如何执行此操作的一些提示:

馊主意

您可以使用通过标准输入而不是终端设备提供密码的选项sudo-S例如,您可以将密码写在文件中,然后执行cat myPass.txt | sudo -S your_command.

答案2

您可以expect为此使用:

#!/usr/bin/expect
set password "mypassword"
spawn sudo mkdir -v newdir
expect "Password:"
send -- "$password\n"
expect "mkdir: created directory 'newdir'"

相关内容