Как защитить паролем меню Grub

9

Как защитить паролем меню Grub от ro recovery nomodesetкоманды. Я хочу, чтобы там, где никто, если у вас нет пароля, чтобы внести изменения в меню, чтобы попытаться войти в recovery.grub

Рэндол Альберт
источник
Это не совсем понятно. Вы хотите защитить паролем возможность загрузки или возможность редактировать конфигурацию grub / получить доступ к консоли grub?
Сет
Желательно оба, и не могли бы вы показать мне подробности команд, я вроде новичок в Linux
Рэндол Альберт
Существует возможность отключить режим восстановления в grub, а также сделать так, чтобы grub не отображался (т. Е. Загружаться прямо на выбранную вами ОС, или, если у вас только одна ОС, загружаться без задержки). Вас это заинтересует? Дайте мне знать, я выложу это как ответ, если хотите
Сергей Колодяжный

Ответы:

13

Grub позволяет защитить паролем его конфигурацию и консоль, а также отдельные записи операционной системы. Обратите внимание, что это не остановит преданных лиц, особенно тех, которые знают, что они делают. Но я полагаю, вы это знаете. Давайте начнем.

создать хэш пароля

Вы можете хранить свой пароль grub в виде простого текста, но это совершенно небезопасно, и любой, кто имеет доступ к вашей учетной записи, может быстро это выяснить. Чтобы предотвратить это, мы хэшируем пароль с помощью grub-mkpasswd-pbkdf2команды, например так:

user@host~ % grub-mkpasswd-pbkdf2
Enter password: 
Reenter password: 
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.63553D205CF6E...  

Пока вы вводите пароль, в терминале не будут отображаться никакие символы, это сделано для того, чтобы люди не заглядывали вам через плечо и т. Д. Теперь скопируйте весь ваш хеш с помощью Ctrl+ Shift+ C.

защита конфига, консоли ..

Запустить:

sudo nano /etc/grub.d/40_custom  

Это создаст новый файл конфигурации с именем 40_customв каталоге конфигурации grub. Теперь добавьте строки:

set superusers="username"  
password_pbkdf2 username hash  

Где usernameимя пользователя по вашему выбору и hashхэш, который мы сгенерировали в последней команде. Нажмите Ctrl+, Oа затем Ctrl+, Xчтобы сохранить и выйти. Запустить:

sudo update-grub  

Завершить изменения. Теперь, когда кто-либо пытается изменить конфигурацию grub или получить доступ к консоли grub, он запросит у него имя пользователя и пароль.

защита паролем записей операционной системы.

В настоящее время я могу найти единственный способ добиться этого - отредактировать /boot/grub/grub.cfgвручную. Однако это только временно, так как любое новое обновление ядра перезапишет этот файл, и ваши пароли исчезнут (обратите внимание, что это не влияет на пароль консоли / редактирования, который мы установили выше). Все остальные методы, которые я нашел до сих пор, чрезвычайно устарели, и я больше не могу заставить их работать.

Я спросил список рассылки grub, если есть более новый метод, и отредактирую этот ответ, как только узнаю.

Сет
источник
3
Grub 2.0+ просит пароль для загрузки после этой манипуляции. Это потому, что все записи теперь «ограничены» по умолчанию. Для загрузки без пароля необходимо добавить «--unrestricted» в требуемые элементы загрузки .
Раз
6

В руководстве GRUB есть раздел о безопасности . Здесь рассказывается, как защитить паролем загрузочное меню GRUB, чтобы ограничить доступ к определенным операциям или вариантам загрузки. Содержит небольшой пример.

NZD
источник
1
если пример небольшой, вы можете добавить к своему ответу
rpax
2
@rpax: ответ Сета уже содержит пример. Он добавил свой ответ после того, как я разместил свой.
новозеландских