有没有办法用’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由Deluge
和Deluge-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