从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永远不会提示输入密码 ,或者仅针对您的特定命令,或者始终。

警告:以纯文本格式存储密码是一个非常糟糕的主意