Я хочу ограничить открытие приложения обычными привилегиями. Только root должен запускать приложение, так что содержимое не будет видно другим, и они ничего не изменят.
Я хочу ограничить открытие приложения обычными привилегиями. Только root должен запускать приложение, так что содержимое не будет видно другим, и они ничего не изменят.
Ответы:
Должен быть лучший способ сделать это (возможно, с 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).