从 GUI 传递 sudo 命令

从 GUI 传递 sudo 命令

我有一个使用某些命令的 shell 脚本sudo。当我从终端运行此脚本时 - 它会要求我输入密码并且运行时会出现任何问题。但是当我尝试从 GUI 运行可执行 shell 脚本(双击)时,它不会要求我输入密码 - 因此不起作用。

我的 shell 脚本示例:

c1=$(dmidecode -t 4 | grep ID | sed 's/.*ID://;s/ //g' | sha1sum | awk '{print $1}')

如何从 GUI 运行脚本并sudo顺利传递所有命令?

答案1

你可以sudo从标准输入传递密码, 像这样:

echo 'yourpassword' | sudo -S yourcommand

使用-S告诉sudo从 stdin 读取密码,该密码来自位echo 'yourpassword'

您还可以编辑 visudo,这样sudo就不会提示输入密码,要么仅适用于您的特定命令,要么始终。

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

相关内容