例如,如果我需要锁定 Firefox,每当有人需要访问它时(使用与我相同的用户名),通常都会出现 sudo 密码提示。我已通过授予我的用户名“nopasswd”权限来默认禁用 visudo 下的密码提示。
答案1
通常,Ubuntu 中的应用程序所有者是 root。例如,检查来自 的应用程序/usr/bin
。您可以使用 进行检查ls -l /usr/bin
。对于 Firefox Web 浏览器,结果是:
ls -l /usr/bin/firefox
lrwxrwxrwx 1 root root 25 aug 3 23:37 /usr/bin/firefox -> ../lib/firefox/firefox.sh
因此,要为 root 以外的其他用户锁定 Firefox,您需要删除组和其他用户的执行权限。您可以使用以下命令执行此操作:
sudo chmod 766 /usr/bin/firefox
或者
sudo chmod go-x /usr/bin/firefox
答案2
正如您在问题中提到的,如果您想锁定只能通过 root 方式访问的应用程序,只需更改权限。
sudo chown root:root /usr/bin/firefox
sudo chmod 700 /usr/bin/firefox
例如我为 pidgin 制作的:
jai@frank-Jai:~$ sudo chown root:root /usr/bin/pidgin
[sudo] password for jai: $$$$$$
jai@frank-Jai:~$ sudo chmod 700 /usr/bin/pidgin
jai@frank-Jai:~$ pidgin
bash: /usr/bin/pidgin: Permission denied
jai@frank-Jai:~$
下次如果你想打开 Firefox,请输入
sudo firefox
请注意,在某些罕见情况下(但对于 Firefox 和 Chromium 等而言确实如此),当调用命令时,会先调用一个脚本,然后该脚本会启动“正常”程序可执行文件。如果禁用脚本运行,则会阻止任何人正常运行应用程序(例如通过快捷方式或命令firefox
)。如果有人知道该应用程序的“正常”可执行文件位于何处,那么他将能够通过终端毫无问题地启动它。为了避免这种情况,您还必须更改该可执行文件的权限。Firefox 的可执行文件位于/usr/lib/firefox/firefox
。
对于 Deluge,正如 OP 提到的:
Deluge 由Deluge
和组成Deluge-gtk
。因此您必须对两者都执行此操作。