从GUI传递sudo命令
我有一个使用sudo
命令的shell脚本。 当我从终端运行这个脚本时 – 它要求我输入密码并运行任何问题。 但是,当我尝试运行可执行的shell脚本表单GUI(双击)它不会要求我输入密码 – 所以不起作用。
我的shell脚本示例:
c1=$(dmidecode -t 4 | grep ID | sed 's/.*ID://;s/ //g' | sha1sum | awk '{print $1}')
如何从GUI运行脚本并传递所有sudo
命令没有问题?
您可以从标准输入中将密码传递给sudo
,如下所示:
echo 'yourpassword' | sudo -S yourcommand
使用-S
告诉sudo
从stdin读取密码,该密码来自echo 'yourpassword'
位。
您也可以编辑visudo,以便sudo
永远不会提示输入密码 ,或者仅针对您的特定命令,或者始终。
警告:以纯文本格式存储密码是一个非常糟糕的主意