Заблокировать приложение [dубликат]

Как заставить приложение всегда требовать права root? Например, если я запускаю nautilus, он должен сообщить мне, что мне отказали, и попросите запустить его как root. Есть ли способ сделать это в Ubuntu? Force-require root?

1
задан 9 May 2013 в 09:58

2 ответа

Я бы предположил, что вам нужно будет установить владельца файла bin (программы) как root и сделать его исполняемым только root.

Итак, в качестве примера, это текущие разрешения для моего nautilus, который находится в /usr/bin/nautilus:

alaa@aa-UBUNTU:~$ ls -l /usr/bin | grep nautilus -rwxr-xr-x 1 root root 1542692 Feb 20 23:13 nautilus

Если вам нужно больше узнать о разрешениях, нажмите здесь. Кроме того, прежде чем что-либо делать, помните о разрешениях вашей программы перед выполнением каких-либо команд, чтобы вы могли вернуться к этим разрешениям, если что-то пойдет не так.

Обратите внимание, что существует три «x» s, которые означает, что владелец, группа и другие (в основном имеющие значение каждый) имеют доступ к ее выполнению. Если мы хотим, чтобы приложение требовало разрешения root, мы должны настроить его так, чтобы корень был единственным, кто смог его выполнить, поэтому нам нужно удалить «x» s (который является исполняемым разрешением) из «группы», и «другое», и оставить только «х». Для этого вы должны:

sudo chmod go-x /usr/bin/nautilus

Эта команда означает:

chmod: изменить режим / разрешения go: применить следующие к «group» и «other» -x : удалить (из-за знака минус) исполняемое разрешение от «group» и «other» / usr / bin / nautilus: файл, применяемый к

. Таким образом, мы удаляем «x» из « группа "и" другое ". Теперь разрешения будут выглядеть так:

alaa@aa-UBUNTU:~$ ls -l /usr/bin | grep nautilus -rwxr--r-- 1 root root 1542692 Feb 20 23:13 nautilus

Если я попытаюсь запустить nautilus с моим именем пользователя, я получу это:

alaa@aa-UBUNTU:~$ nautilus bash: /usr/bin/nautilus: Permission denied

Чтобы иметь возможность запускать nautilus, мне пришлось бы делать sudo nautilus.

2
ответ дан 18 July 2018 в 12:34

Я бы предположил, что вам нужно будет установить владельца файла bin (программы) как root и сделать его исполняемым только root.

Итак, в качестве примера, это текущие разрешения для моего nautilus, который находится в /usr/bin/nautilus:

alaa@aa-UBUNTU:~$ ls -l /usr/bin | grep nautilus -rwxr-xr-x 1 root root 1542692 Feb 20 23:13 nautilus

Если вам нужно больше узнать о разрешениях, нажмите здесь. Кроме того, прежде чем что-либо делать, помните о разрешениях вашей программы перед выполнением каких-либо команд, чтобы вы могли вернуться к этим разрешениям, если что-то пойдет не так.

Обратите внимание, что существует три «x» s, которые означает, что владелец, группа и другие (в основном имеющие значение каждый) имеют доступ к ее выполнению. Если мы хотим, чтобы приложение требовало разрешения root, мы должны настроить его так, чтобы корень был единственным, кто смог его выполнить, поэтому нам нужно удалить «x» s (который является исполняемым разрешением) из «группы», и «другое», и оставить только «х». Для этого вы должны:

sudo chmod go-x /usr/bin/nautilus

Эта команда означает:

chmod: изменить режим / разрешения go: применить следующие к «group» и «other» -x : удалить (из-за знака минус) исполняемое разрешение от «group» и «other» / usr / bin / nautilus: файл, применяемый к

. Таким образом, мы удаляем «x» из « группа "и" другое ". Теперь разрешения будут выглядеть так:

alaa@aa-UBUNTU:~$ ls -l /usr/bin | grep nautilus -rwxr--r-- 1 root root 1542692 Feb 20 23:13 nautilus

Если я попытаюсь запустить nautilus с моим именем пользователя, я получу это:

alaa@aa-UBUNTU:~$ nautilus bash: /usr/bin/nautilus: Permission denied

Чтобы иметь возможность запускать nautilus, мне пришлось бы делать sudo nautilus.

2
ответ дан 24 July 2018 в 19:59

Другие вопросы по тегам:

Похожие вопросы: