В системах, работающих на базе 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, который не доступен для просмотра обычным пользователем.

Вопросы для самопроверки:

  1. Как называется учетная запись суперпользователя в системах на базе Unix?
  2. Какие задачи может выполнять суперпользователь в системах Unix?
  3. Какую утилиту в основном используют для администрирования Linux в современных системах вместо прямого использования root?
  4. Что произойдет, если ввести команду rm -rf / от имени суперпользователя?
  5. Для чего необходимо вводить пользовательский пароль при использовании команды sudo?
  6. Как вернуться в обычный режим из оболочки суперпользователя с помощью командной строки?

Программа курса:

  1. Описание курса
  2. История операционной системы Linux
  3. Основы лицензии GNU GPL и её преимущества
  4. Функции и структура ядра Linux-систем
  5. Структура и каталоги файловой системы Linux
  6. Основные типы файлов в системе Linux
  7. Интерфейс командной строки в Linux
  8. Командная оболочка Bash в Linux
  9. Использование параметров команд в Bash
  10. Использование Ctrl+C, Ctrl+D и Ctrl+Z
  11. Автодополнение и история команд в Bash
  12. Перенаправление ввода и вывода в Bash
  13. Документация Linux и Man-страницы
  14. Абсолютная и относительная адресация в Linux
  15. Команда ls - как просматривать каталоги в Linux
  16. Копирование, перемещение и удаление в Linux
  17. Жесткие и символьные ссылки в Linux
  18. Создание жестких и символических ссылок в Linux
  19. Права доступа к файлам и каталогам в Linux
  20. Изменение прав доступа к файлам с помощью chmod
  21. Использование шаблонов имен файлов в Linux
  22. Поиск файлов в Linux с помощью команды find
  23. Использование команды sudo в Linux
  24. Управление пакетами с помощью APT в Linux