В su обретёшь ты право root’а
Первый из таких способов -- традиционная для всех UNIX- и UNIX-подобных систем команда su
. Имя её иногда трактуют как аббревиатуру от Super User, но на самом деле оно означает Set UID: она позволяет получить права не только администратора, но и любого другого пользователя — достаточно указать его имя в качестве аргумента. Однако без оного команда su
предоставляет, по вводе соответствующего пароля, доступ именно к суперпользовательскому аккаунту.
Если мы пароль знаем и введём правильно — казалось бы, ничего не произойдет, никаких сообщений не последует. Правда, присмотревшись, можно увидеть, что изменился вид приглашения командной строки (как — зависит от настроек командной оболочки, по умолчанию для bash
— с символа доллара, $
, на символ решётки, #
). И это должно послужить сигналом к повышенному вниманию — с данного момента наш обычный пользователь наделён полномочиями root’а.
Правда, все настройки среды пользователя, эту команду отдавшего, сохраняются. Если требуется получить доступ к переменным окружения администратора в полном объёме (в частности, к путям поиска исполняемых файлов, которые для root’а и обычного пользователя могут быть разными), используется форма
$ su -l
или, ещё короче,
$ su -
После этого никаких отличий от ситуации, когда мы авторизовались root’ом в ответ на первичное приглашение в консоли, не обнаружится. Обратим внимание на то, что текущий каталог, в котором была отдана команда, сменится на домашний каталог суперпользователя — /root
, потому что это довольно распространённый источник ошибок начинающих пользователей.
В Fedora, как и большинстве Linux'ов права администратора посредством команды su
может получить любой пользователь, имеющий аккаунт в данной системе. Однако доступ к root-аккаунту можно изменить в любую сторону — как ограничить, так и “демократизировать”. Как — зависит от метода аутентификации пользователей. Так, в Fedora, по умолчанию использующей PAM-аутентификацию, для ограничения административного рвения пользователей следует отредактировать файл /etc/pam.d/su, а именно — снять комментарии со следующих строк:
#auth sufficient pam_wheel.so trust use_uid # Uncomment the following line to require a user to be in the "wheel" group. #auth required pam_wheel.so use_uid
А перед этим надо, разумеется, не забыть добавить особо доверенных пользователей — в частности, себя, любимого, в эту группу командой вроде
# usermod -Ga wheel username
данной от лица суперпользователя. Опция -G
здесь приписывает аккаунт к новой группе, а опция -a
-- сохраняет его членство в группах, к которым он ранее был приписан.
Созданный командой su
“сеанс в сеансе” будет продолжаться неограниченно долго, до тех пор, пока не будет завершён явным образом — командой exit
, которая вернёт обычное пользовательское окружение, в том числе и текущий каталог, в котором мы находились до начала “вторичного сеанса”.
Нередко, однако, административные полномочия нужны для выполнения одной- единственной команды. Например, нелепо открывать внутренний сеанс суперпользователя для того, чтобы только посмотреть текущую разметку диска командой вроде fdisk -l
. Что же, команда su
предоставляет нам и такую возможность — посредством опции -c
(или --command=
), значениями которой будет выступать требуемая команда вместе со всеми необходимыми опциями и аргументами. Например, команды
$ su -c 'fdisk -l /dev/sdb'
или
$ su --command='fdisk -l /dev/sdb'
после ввода пароля суперпользователя выведут нам информацию об указанном диске точно так же, как это было бы после последовательности команд
$ su [пароль] fdisk /dev/sdb
Опять же обращаю внимание, что имя команды вместе с опциями и аргументами должно быть экранировано кавычками — иначе, скажем, аргумент /dev/sdb
будет воспринят как имя пользователя, чьи права мы желаем получить, что повлечёт за собой сообщение об ошибке. Во всех виденных мной указаниях приводятся именно строгие, одинарные, кавычки (как в нашем примере), однако обычно проходят и нестрогие, двойные.
Неудобство такого способа в том, что после открывающей кавычки в командной строке перестаёт работать автодополнение по нажатию клавиши Tab. То есть сложные команды и пути придётся вводить по памяти. Эта, казалось бы, маловажная, деталь, — та самая соломинка, которая может склонить к использованию sudo
вместо su
, о чём пойдёт речь на следующей странице.
Главная
Содержание . .