Однопользовательский режим, также известный как режим обслуживания, представляет собой режим, в котором ОС многопользовательского компьютера загружается в одного суперпользователя.
Этот режим обычно известен как runlevel 1 или rescue.target (режим восстановления) в системах, которые реализуют инициализацию в стиле Sys-V или Systemd соответственно.
В однопользовательском режиме администраторы могут получить прямой доступ к корневой файловой системе без пароля, чтобы выполнить обслуживание системы, например, сброс забытого корневого пароля, восстановление испорченных файлов инициализации системы и т. д.
Это, однако, является лазейкой в безопасности и поэтому важно настроить свою систему так, чтобы для такого доступа требовался пароль.
В этом уроке мы узнаем, как защитить паролем однопользовательский режим на сервере Ubuntu 18.04, чтобы тот, кто хочет получить доступ к корневой файловой системе системы через этот уровень / цель запуска, должен сначала ввести пароль.
Установите пароль Grub
Чтобы защитить однопользовательский режим вашей системы, вам нужно установить пароль grub.
В этом случае мы собираемся сгенерировать хешированный пароль для GRUB, выполнив команду ниже.
# grub2-mkpasswd-pbkdf2 Enter password: Enter Your STRONGPASSWORD Reenter password: Re-Enter Your STRONGPASSWORD PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.2E76F00F221375A635334DEE22E9EF48A3C752EDCFA01221789FDFFE34251C23C1EF11E39CF13EB525D4E99008598CE81035EF0AA67C8B4F0569B0C3BE5A20F1.0A43B4FC74BF2EEE479E3CE0697B933BC7249894029523CEF2D01605480FA869CAA9B44BFCBAB4316338EF6DDA9F8D4E30E996FB14E2ED0B42B05F5435778A73
Как вы можете видеть выше, ваш хеш-пароль GRUB был сгенерирован;
grub.pbkdf2.sha512.10000.2E76F00F221375A635334DEE22E9EF48A3C752EDCFA01221789FDFFE34251C23C1EF11E39CF13EB525D4E99008598CE81035EF0AA67C8B4F0569B0C3BE5A20F1.0A43B4FC74BF2EEE479E3CE0697B933BC7249894029523CEF2D01605480FA869CAA9B44BFCBAB4316338EF6DDA9F8D4E30E996FB14E2ED0B42B05F5435778A73
Включить защиту паролем GRUB
Чтобы включить защиту паролем grub, вы должны определить пункты меню grub для защиты, пользователей, которым разрешен доступ к GRUB, и их пароли.
Пользователи и их пароли добавляются вручную в файл /etc/grub.d/00_header.
Чтобы отредактировать /etc/grub.d/00_header, выполните команду ниже;
# vim /etc/grub.d/00_header
Вы также можете использовать предпочитаемый вами редактор.
Определите суперпользователя и пароль
После того, как вы откроете указанный выше файл для редактирования, введите суперпользователя и его пароль в конце файла в следующем формате.
cat << EOF set superusers="user1" password_pbkdf2 <user> <password> EOF
Это должно наконец выглядеть так;
cat << EOF set superusers="admin" password_pbkdf2 admin grub.pbkdf2.sha512.10000.2E76F00F221375A635334DEE22E9EF48A3C752EDCFA01221789FDFFE34251C23C1EF11E39CF13EB525D4E99008598CE81035EF0AA67C8B4F0569B0C3BE5A20F1.0A43B4FC74BF2EEE479E3CE0697B933BC7249894029523CEF2D01605480FA869CAA9B44BFCBAB4316338EF6DDA9F8D4E30E996FB14E2ED0B42B05F5435778A73 EOF
Как только вы закончите редактирование, сохраните файл и обновите grub, выполнив следующую команду.
# update-grub2 Generating grub configuration file ... Found linux image: /boot/vmlinuz-4.15.0-36-generic Found initrd image: /boot/initrd.img-4.15.0-36-generic done
При обновлении grub информация о пользователе и пароле автоматически добавляется в файл конфигурации меню GRUB 2, grub.cfg.
Теперь ваш grub защищен паролем.
Чтобы убедиться в этом, перезагрузите систему и попробуйте загрузиться в однопользовательском режиме, как описано ниже;
- На заставке GRUB во время загрузки нажмите любую клавишу, чтобы войти в интерактивное меню GRUB.
- Выберите строку ядра и нажмите ‘e‘ для редактирования.
Сразу же вы нажмете e, вам будет предложено ввести имя пользователя и пароль.
Это все о защите паролем однопользовательского режима с помощью пароля. Спасибо за посещение.
Обратите внимание, что если вы потеряли как пароль grub, так и пароль root, единственный способ получить доступ к оболочке – загрузите систему с LiveCD, смонтируйте корневой раздел в режиме rw и удалите пароль в файле конфигурации grub.