无需使用 sudo 即可对应用程序进行密码保护

无需使用 sudo 即可对应用程序进行密码保护

我有一个不寻常的请求。我需要为某个应用设置密码,但我需要该应用在用户级别运行(而不是 Sudo 或 SU)。有没有简单的方法可以做到这一点?

答案1

您可以使用简单的 bash 脚本和 Zenity 来实现这一点。如前所述,除非您不关心安全性,否则不应使用此方法。

#!/bin/sh

#Create the Zenity Window and show it
OUTPUT=$(zenity --password "Password")

#Compare the user input with your hardcoded password
if [ "$OUTPUT" = "abc1234" ]
then
    #Command to launch the application from the CLI. Replace with your own command
    /usr/bin/nautilus
else
    #Throw an error
    zenity --error --text "Password incorrect. Terminating"
fi

将其保存为 .sh 文件,授予其 +x 权限,即可开始使用,只需相应地替换命令即可。

答案2

我搞明白了,它要求我创建一个名为“admin”的用户(即系统管理员)的密码。我已将“用户”帐户设置为仅桌面用户,而不是管理员。

1)我改变了菜单项以显示gksu -w -u admin /home/admin/bin/menu.sh(我把脚本放在哪里)

2)在menu.sh脚本中gksu -u user /usr/bin/alacarte

3)执行时,它会要求输入管理员的密码,然后以更高管理员用户身份运行该程序。

通常这不会是个问题,但是当alacarte(菜单编辑器)以管理员或根用户身份运行时。它会编辑管理员或根用户的菜单,而不是当前用户的菜单,这有点毫无意义

对于一个小问题来说,这听起来确实很复杂,我相信有更简单的方法可以做到这一点。我对这类事情还比较陌生。如果有更简单的方法可以做到这一点,请告诉我。

谢谢,

凯尔·T。

相关内容