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

GKU*_*TTY 8 guest-session restricted-access

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

Sal*_*lem 2

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

\n\n
 \xe2\x9e\x9c  ls -la /bin/nano\n-rwxr-xr-x 1 root root 192008 Oct  1 15:12 /bin/nano\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n
sudo chmod g-x /bin/nano\nsudo chmod o-x /bin/nano\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n
 \xe2\x9e\x9c  nano\nbash: /usr/bin/nano: Permission denied\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n
 \xe2\x9e\x9c  ls -la /usr/bin/firefox\nlrwxrwxrwx 1 root root 25 Jan 17 08:26 /usr/bin/firefox -> ../lib/firefox/firefox.sh\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n