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

例如,如果我需要锁定firefox,并且每当有人需要访问它时(在与我的用户名相同的情况下),就会出现通常的sudo密码提示。 默认情况下,我通过提供用户名’nopasswd’权限在visudo下禁用了密码提示。

正如您在问题中提到的那样,如果您想要锁定只能通过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由DelugeDeluge-gtk 。 所以你必须为两者做到这一点。

通常,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