Как заставить приложение всегда требовать права root? Например, если я запускаю nautilus, он должен сообщить мне, что мне отказали, и попросите запустить его как root. Есть ли способ сделать это в Ubuntu? Force-require root?
Я бы предположил, что вам нужно будет установить владельца файла 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.
Я бы предположил, что вам нужно будет установить владельца файла 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.