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

我想限制在普通权限下打开的应用程序。 只有root才能运行应用程序,因此其他人不会看到内容,也不会改变任何内容。

应该有更好的方法(可能使用AppArmor?),但您可以随时更改可执行文件的权限。 假设您要禁用对nano访问权限。 他们的默认权限如下:

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

它可以由所有者,组和其他人执行。 要仅维护所有者执行,您可以使用

 sudo chmod gx /bin/nano sudo chmod ox /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文件中使用)。