在 ubuntu 中,有没有办法用 'sudo' 方法锁定特定应用程序

在 ubuntu 中,有没有办法用 'sudo' 方法锁定特定应用程序

例如,如果我需要锁定 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

锁定 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。因此您必须对两者都执行此操作。

相关内容