Как правильно... Получаем права root с программой su

debianeach

Опубликован:  2019-10-06T04:30:55.664712Z

В блоге новая рубрика. В этом обзоре поговорим о программе su, научимся правильно получать права суперпользователя с её помощью и рассмотрим наиболее часто встречающуюся ошибку, которую допускают новички.

Итак, у меня есть десктоп с Debian buster на борту, а супрепользователь системы имеет пароль. Этого достаточно, чтобы получить права root в терминале в сессии текущего пользователя.

Очень многие новички получают права root при помощи команды su без аргументов:

su

Для начала стоит разобраться, почему этот вариант действий нужно считать неправильным. Запускаю терминал и ввожу команду.

8yMejmKrW6.png

В результате система запросила пароль. Необходимо ввести пароль root. При вводе пароль не будет отображаться на терминале.

jX0saeFXPl.png

После ввода пароля приглашение командной строки моего терминала изменило свой вид. В тексте приглашения появилось имя текущего пользователя - root, имя машины - desktop и путь к текущему каталогу - /home/newbie. Таким образом, пользователь вроде бы изменился, а вот текущий каталог сессии, в котором мы оказались в результате ввода su, остался прежним и принадлежит пользователю текущей сессии - newbie.

Второй неприятный момент... Давайте посмотрим на переменную окружения PATH. Как известно, переменная окружения PATH хранит перечень каталогов, которые интерпретатор просматривает при поиске введённой пользователем команды.

echo $PATH

aWkEAhpQFp.png

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

  • /usr/local/sbin;
  • /usr/sbin;
  • /sbin.

Это значит, что для запуска программ из этих каталогов в данной сессии root придётся вводить полный путь и имена программ. Кроме этого в терминале не будет работать автодополнение (клавиша Tab), если полный путь не введён. Сессия получилась куцей, неполноценной, и работать в ней будет очень и очень неудобно. Выхожу.

exit

RSeVQZK75S.png

Теперь попробуем получить права root правильно.

su -

4J3VpRmCLJ.png

Опять последовал запрос пароля. Ввожу пароль.

nonb7Z5IXA.png

Аха... Что мы видим? Текущий каталог пользователя изменился.

pwd

90fU0JSeDt.png

На этот раз я оказался там, где и ожидал оказаться - в домашнем каталоге пользователя root. Отлично. Опять посмотрим на значение переменной окружения PATH.

echo $PATH

jOPT5hxSlk.png

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

Простой вывод: получить права root в Debian buster очень просто, но стоит помнить, что выполнять это элементарное действие лучше бы правильно.

Комментарии: