我知道使用sudo
和ssh
工具可以使用 GUI 在脚本中询问密码,方法是分别设置SUDO_ASKPASS
和SSH_ASKPASS
变量,我们在其中指定图形工具来询问密码。
但是,如果我使用任何其他可能要求输入密码的工具,例如ksu
似乎不支持上述任何模式的工具,该怎么办?(我在互联网上搜索,我没有找到任何类似的东西KSU_ASKPASS
,而且ksu
似乎没有任何选择来支持这一点)。
我知道使用sudo
和ssh
工具可以使用 GUI 在脚本中询问密码,方法是分别设置SUDO_ASKPASS
和SSH_ASKPASS
变量,我们在其中指定图形工具来询问密码。
但是,如果我使用任何其他可能要求输入密码的工具,例如ksu
似乎不支持上述任何模式的工具,该怎么办?(我在互联网上搜索,我没有找到任何类似的东西KSU_ASKPASS
,而且ksu
似乎没有任何选择来支持这一点)。
我想我最终找到了解决方案......
例如,假设您要列出
/root/
文件夹的内容,为此您需要 root 访问权限,并且您只能使用该ksu
工具(无sudo
/su
/ssh
)。首先,您使用图形工具询问密码
zenity
,并将其存储在局部变量中。之后,您可以使用以下命令运行
ls /root/
viaksu
。解释:
通过
echo
与|
您结合使用,将密码传递给ksu
,因为它通过标准输入要求输入密码。从标准输入读取密码后,
ksu
执行使用选项ls
指定的命令,通过选项作为参数传递。-e
/root/
-a