Рассказываем с примерами, что такое root-права в Ubuntu и как зайти в Убунту под root.
Root-user (суперпользователь) и администратор
Для начала разберёмся, чем отличаются разные типы учетных записей в Ubuntu. При этом важно помнить, что в вопросах администрирования и управления система Linux кардинально отличается от более привычной пользователям Windows. В ОС Windows система по умолчанию права, тогда как в Linux-системах суперпользователь — это кто-то вроде бога, которому в системе разрешено делать всё что угодно, его решения не подвергаются сомнению и мгновенно исполняются. Правда, удобно? Но есть и минусы: с одной стороны — легко ошибиться, наломать дров и что-нибудь испортить (вплоть до уничтожения системы), а с другой стороны — это возможные проблемы в безопасности.
Если вы пользуетесь домашним ПК, то работать под рут может быть целесообразно. Но если нужно администрировать сервер, то потенциальные риски выходят на первый план. Поэтому, прежде чем входить в Ubuntu под пользователем с root, нужно хорошо подумать, а надо ли это вообще. Ну а если всё-таки надо, то читаем дальше.
Все пользователи Ubuntu (как и любой другой Линукс-системы) делятся на два типа: root и все остальные. Root может всё, от имени root даже работает сама система, а все остальные имеют только те права, которые даны им в настройках. Даже администратор — это обычный пользователь, но с расширенными привилегиями.
Root-user (суперпользователь)
Итак, root-пользователь — это привилегированный пользователь с неограниченными полномочиями. Почти все системные процессы работают из-под рут. Управлять установкой и удалением ПО, копировать и изменять системные файлы (скрытые для обычного пользователя), управлять параметрами системы, иметь доступ к любым каталогам — всё это возможно для root-user даже без введения пароля! Ошибиться при этом очень легко, поэтому учётная запись рут изначально отключена и пользователь никаким образом не может выполнять действия как суперпользователь, предварительно не разблокировав эту учётку. А включать root-доступ советуют только в том случае, если вы являетесь продвинутым пользователем Linux.
Управление системой при этом ложится на плечи обычного пользователя с расширенными привилегиями — администратора.
Администратор
Админ в Ubuntu — это пользователь с расширенными правами. Первым администратором системы является дефолтный user, созданный при установке ОС. По умолчанию ему доступны те же операции, что и root-пользователю, но при этом ему нужно будет вводить собственный пароль, чтобы подтвердить права на выполнение действия. Так система защищается от ошибки.
Например, окно ввода пароля Synaptic (менеджер управления приложениями). Зайдём в «Менеджер пакетов Synaptic». При попытке открыть менеджер, появляется окно для ввода пароля (так как это доступ к управлению ПК):
Как зайти под root в Ubuntu
Вначале рассмотрим, как разблокировать учётную запись суперпользователя, а затем в статье будут предложены альтернативные способы управления системой от имени админа с расширенными рут-правами (что не приведёт к неоправданным рискам).
Ранние версии Убунту
В Ubuntu старых версии (актуально для версии 11.04 и вышедших ранее) для администрирования из-под root нужно установить пароль, и затем войти в рут-аккаунт. Введём в командную строку, чтобы задать пароль:
sudo passwd root
Необходимо будет указать login — root и установленный перед этим пароль.
Ubuntu от 11.10 и старше
В дистрибутивах Ubuntu от 11.10 есть специальная утилита — диспетчер сеансов lightDM, который управляет входом в систему и запускает графическое окружение, поэтому одной только установкой пароля для рут-пользователя дело не обойдётся.
1. Сначала установим пароль для rооt-аккаунта. Используем ту же команду, что и в Ubuntu предыдущих версий:
sudo passwd root
2. Включим возможность войти под рут на экране входа в Ubuntu. Для этого отредактируем настройки конфигурации ЛайтДМ — lightdm.conf. Чтобы открыть его в текстовом редакторе (в данном примере файл откроется в редакторе по умолчанию Gedit), введём в командной строке:
gksu gedit /etc/lightdm/lightdm.conf
3. Допишем в редакторе в lightdm.conf строку и сохраним:
greeter-show-manual-login=true
4. Осталось перезагрузить менеджер входа, чтобы изменения вступили в силу:
sudo service lightdm restart
5. Теперь для входа в систему нужно заполнить поля «Login», куда нужно ввести «root», и пароль (заданный на 1-м этапе).
Блокировка доступа root
Чтобы снова заблокировать доступ по root потребуется два действия:
1. удаляем добавленные ранее директивы в конфигурации lightdm.conf;
2. заблокируем аккаунт root, введём в терминале:
sudo passwd -l root
Администрирование с помощью sudo
А теперь кратко пройдёмся по альтернативным и более безопасным способам управления ОС.
Самый распространённый метод — это использование sudo.
Утилита sudo предоставляет пользователям привилегии в соответствии с настройками. Когда обычный пользователь пытается выполнить административную операцию, утилита запрашивает пароль и проверяет, доступна ли она для него. По умолчанию дефолтному пользователю доступны все операции, то есть его права равны правам root.
Запуск GUI с привилегиями администратора
1. Чтобы открыть графический пользовательский интерфейс какого-либо приложения, запустим окно «Выполнить» одновременным нажатием Alt+F2.
2. Введём в окне команду, которая вызывает нужную программу:
gksudo <команда, вызывающая приложение>
Префикс gk передаёт системе сообщение, что должен быть открыт именно графический интерфейс приложения. Вместо gksudo также используется команда gksu.
Sudo предложит авторизоваться, и если у пользователя с таким паролем есть доступ к операции, то команда запустится от имени админа. Важно, что во время любых действий в GUI больше не нужно будет вводить пароль, даже при выполнении важных административных операций.
Запуск ПО в терминале
1. Работая через терминал, запускаем команду следующего формата:
sudo <имя команды>
2. Введите пароль пользователя с расширенными привилегиями, команда будет исполнена от имени root. Обычно ОС запоминает пароль на 15 минут, и в течение этого времени повторно вводить его не потребуется. Период, когда sudo-сессия остаётся открытой, можно задать в настройках (в том числе можно установить «нулевую» продолжительность сессии, тогда пароль понадобится для выполнения каждой команды).
3. Чтобы принудительно завершить текущую sudo-сессию до истечения 15 минут, введите:
sudo -K
Бывает, что при последовательном перечислении команд в терминале, они могут быть выполнены с ошибкой, когда от имени админа выполняется только первая команда. Чтобы этого избежать, sudo советуют вписывать непосредственно перед каждой командой.
Режим суперпользователя
Если нужно длительно работать от имени юзера с рут-правами и 15 минут будет явно недостаточно, то целесообразно перейти в режим суперпользователя.
1. Команды, чтобы начать сессию суперпользователя:
sudo -s
sudo -i
$ в командной строке сменится на символ #. Знак # — это сигнал того, что далее работа идёт в этом режиме.
В выполнении этих команд есть отличия: при sudo -s домашним каталогом остаётся пользовательская папка, а sudo -i изменяет его на каталог /root.
2. Возвращение в режим обычного юзера. Нажмите сочетание клавиш Ctrl+D или используйте инструкцию Exit.