如何限制用户访问特定应用程序?

如何限制用户访问特定应用程序?

我想限制以普通权限打开某个应用程序。只有 root 才能运行该应用程序,这样其他人就看不到内容,也不会更改任何内容。

答案1

应该有更好的方法来实现这一点(也许使用 AppArmor?),但您始终可以更改可执行文件的权限。假设您想禁用对的访问nano。它们的默认权限如下:

 ➜  ls -la /bin/nano
-rwxr-xr-x 1 root root 192008 Oct  1 15:12 /bin/nano

它可由所有者、组和其他人执行。若要仅保持所有者执行,您可以使用

sudo chmod g-x /bin/nano
sudo chmod o-x /bin/nano

此后,如果你以普通用户身份在终端中执行它:

 ➜  nano
bash: /usr/bin/nano: Permission denied

请注意,这不是万无一失的解决方案。如果您要锁定的应用程序有其他入口点,它们仍然可以被访问。例如,如果您对 Firefox 尝试了同样的技巧:

 ➜  ls -la /usr/bin/firefox
lrwxrwxrwx 1 root root 25 Jan 17 08:26 /usr/bin/firefox -> ../lib/firefox/firefox.sh

即使您限制对的访问/usr/bin/firefox,因为它只是一个链接,/usr/lib/firefox/firefox.sh它仍然可以在那里执行(或使用/usr/lib/firefox/firefox,在.sh 文件中使用)。

相关内容