В системах, работающих на базе Unix, присутствует особая учетная запись – суперпользователь, который также называется администратором. Имя пользователя этой записи – root, а его домашний каталог располагается в /root. Суперпользователь обеспечивает администрирование системы, позволяя ему выполнять такие задачи, как управление системными файлами, установка программ, создание и удаление пользователей, а также управление их правами доступа.
В первых версиях дистрибутивов GNU/Linux, и в некоторых из нынешних, устанавливая систему, кроме обычного пользователя, также задавался пароль для root. Это давало возможность входа в систему как обычного пользователя, так и администратора.
Такая возможность несла в себе опасность. Неконтролируемое использование учетной записи администратора или,
возможно, злоумышленником могло необратимо повредить систему. Например, команда
rm -rf /
приводит к безвозвратному удалению всех данных на носителе.
В связи с этим, во многих современных версиях Linux учетная запись суперпользователя по умолчанию отключена. Она остается в системе, и может быть активирована с помощью установки пароля. Однако это отнюдь не рекомендуется.
В большинстве современных сценариев администрирования Linux используется утилита sudo. Она предоставляет пользователю, созданному в процессе установки, возможность выполнять команды с административными правами. Плюс в том, что sudo позволяет ограничить набор доступных команд, не давая пользователю полного контроля, характерного для root.
Пример использования команды sudo:
sudo команда параметры_команды
Предположим, необходимо изменить конфигурационный файл hosts с помощью текстового редактора nano.
Ввод команды nano /etc/hosts
откроет файл, но сохранить изменения не удастся,
так как правом на запись обладает только root, а остальные пользователи могут только читать.
С помощью sudo можно открыть файл с правами суперпользователя и внести изменения. Bash попросит ввести ваш пользовательский пароль (тот, что не относится к root) – символы при этом вводятся невидимо.
Сессия с правами sudo длится некоторое время, позволяя выполнять последующие команды без постоянного запроса пароля.
Если необходимо большее временное рамки использования администраторских прав, может помочь команда
sudo -s
. В этом случае вы войдете в оболочку
суперпользователя, заметив, что знак доллара $ заменится на решетку # в приглашении командной
строки. Вернуться в обычный режим можно с помощью команды exit
.
На примере мы видим, как перемещаемся в режим администратора и копируем файл в каталог root, который не доступен для просмотра обычным пользователем.