Как ограничить доступ пользователя к определенному приложению?

8

Я хочу ограничить открытие приложения обычными привилегиями. Только root должен запускать приложение, так что содержимое не будет видно другим, и они ничего не изменят.

GKUTTY
источник
@VRU Я не уверен, что ваша ссылка является дубликатом.
don.joey
1
@VRU Поскольку вы не можете обманывать сайты acros, мы определенно можем использовать вопросы и ответы по этому вопросу (если мы не объявим это не по теме, чего я бы не стал).
user98085
@GKUTTY для вашей ссылки на stackoverflow.com/questions/527876/…
VRU

Ответы:

2

Должен быть лучший способ сделать это (возможно, с 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).

Salem
источник