В Linux определенные административные задачи требуют повышенных привилегий. Эти привилегии принадлежат специальной учетной записи, известной как пользователь root в Linux. Хотя вы можете войти непосредственно как root, часто безопаснее и управляемее временно получать доступ суперпользователя.
Команда su
Помимо команды sudo, вы можете использовать su (substitute user — заменить пользователя) для получения привилегий суперпользователя. При запуске без указания имени пользователя su пытается открыть новую сессию оболочки для пользователя root linux, запрашивая пароль root.
su
Вы также можете использовать эту команду для переключения на любого другого пользователя в системе, если знаете его пароль.
Риски постоянной оболочки root
Использование su для открытия оболочки root имеет существенные недостатки. Постоянная работа в качестве пользователя root увеличивает риск совершения критической ошибки, изменяющей систему. Кроме того, действия, выполняемые в оболочке root, не регистрируются в вашей личной учетной записи пользователя, что затрудняет аудит системных изменений. По этим причинам лучшей практикой является использование sudo для отдельных команд, требующих доступа суперпользователя.
Файл sudoers
Итак, как система определяет, кому разрешено использовать sudo? Доступ контролируется конфигурационным файлом, расположенным по адресу /etc/sudoers. Этот файл перечисляет пользователей и группы, которым предоставлено разрешение на выполнение команд от имени суперпользователя.
Для безопасного редактирования этого файла всегда следует использовать команду visudo. Эта утилита открывает файл sudoers в текстовом редакторе и выполняет проверку синтаксиса перед сохранением, что помогает предотвратить ошибки конфигурации, которые могут заблокировать вам административный доступ.