Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление




Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 и РУСБ.10015-10 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1

  • Astra Linux Common Edition 2.12



Предупреждение

В общем случае, после внесения изменений в конфигурационные файлы загрузчика (файл /etc/default/grub или файлы в каталоге /etc/grub.d/

*

)


для вступления изменений в силу следует выполнить команду обновления загрузчика

Command
sudo update-grub
.

При этом будет переписан файл /boot/grub/grub.cfg,

соответственно

и все

внесённые

внесенные в него изменения будут утеряны.

Информация

Данная статья применима к:

  • ОС ОН Орёл 2.12
  • Для внесения изменений в конфигурационные файлы требуются права суперпользователя (при включенном МКЦ - права суперпользователя с высоким уровнем целостности).


    Включение/выключение plymouth

    Включение/выключение plymouth при загрузке управляется наличием/отсутствием опции splash в строке значений параметра GRUB_CMDLINE_LINUX (для всех режимов загрузки) или в параметрах GRUB_CMDLINE_LINUX_DEFAULT, GRUB_CMDLINE_LINUX_HARDENED для соответствующих режимов.

    Например:

    • Использовать plymouth в обычном режиме загрузки:

      Блок кода
      GRUB_CMDLINE_LINUX_DEFAULT="quiet splash parsec.max_ilev=63"
    ОС СН Смоленск 1.6

    Установка и изменение пароля

    на загрузчик

    для меню загрузчика

    Информация

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

    Для смены пароля системного загрузчика необходимо сгенерировать создать хеш нового пароля и заменить им старый хеш:

    1. Для генерации хеша выполнить команду и дважды ввести новый пароль:

      Command
      grub-mkpasswd-pbkdf2

      Полученный хеш (начиная со слова grub) скопировать в буфер (например, выделив его с помощью мыши, и нажав правую кнопку мыши выбрать "копировать")

    .Открыть в редакторе с правами суперпользователя
    1. ;

    2. С помощью текстового редактора внести изменения в файл /etc/grub.d/07_password (

    в ОС СН Смоленск он уже существует, в ОС ОН Орёл при первой установке пароля откроется пустой файл).
    1. создать такой файл, если его нет). Например, для редактирования с помощью

    встроенного
    1. редактора

    с графическим интерфейсом kate
    1. nano можно воспользоваться командой:

      Command
      sudo
    kate
    1. nano /etc/grub.d/07_password


    2. В результате редактирования должен получиться

    файл
    1. текст вида:

      Информация

      #!/bin/bash

      cat << EOF
      set superusers="
      username"
      password_pbkdf2
      username grub.pbkdf2.sha512.10000.9C319610666...........
      EOF

    Цветом
    1. Цветами условно обозначены имя пользователя (красный) и

    ранее сгенерированный
    1. созданный кеш (

    зелёный)
    1. зеленый), в реальном редакторе цветовых обозначений нет.

    2. Сохранить файл

    ,
    1. и выйти из редактора

    .
    В ОС ОН Орёл при первой установке пароля исправить
    1. ;

    2. Установить права доступа к созданному новому файлу, разрешив его выполнение и максимально ограничив чтение:

      Command
      sudo chmod 700 /etc/grub.d/07_password


    3. Для того, чтобы

    эти
    1. сделанные  изменения вступили в силу, обновить загрузчик командой:

      Command
      sudo update-grub


      Информация
    Возможно
    1. Можно отключить запрос пароля grub, например для записи Windows. Для этого в файла /boot/grub/grub.cfg

    где
    1. в параметрах загрузочного меню (строка, начинающаяся с "menuentry") указать (добавить) параметр --unrestricted, например:

      Блок кода
      ... --class gnu-linux --class gnu --class os --unrestricted ...


      Предупреждение
      Изменения, сделанные в файле /etc/grub/grub.cfg не будут сохраняться после выполнения команды обновления загрузчика update-grub.

      Для того, чтобы изменения сделать постоянными нужный элемент меню можно добавить в файл /etc/grub.d/40_custom, указав в нем все необходимые параметры. Например, для создания элемента меню "Windows 10 без пароля" для загрузки Windows 10 без запроса пароля (опция --unrestricted) добавить следующие строки:

      Блок кода
      menuentry "Windows 10 без пароля" --class windows --class os --unrestricted {
         insmod ntfs
         search --no-floppy --set=root --fs-uuid <UUID_загрузочного_раздела_Windows>
         ntldr /bootmgr
      }
      
      

      Для получения значения UUID загрузочного раздела Windows можно использовать команду:

      Блок кода
      sudo blkid


      В качестве образца для создания своего элемента меню можно использовать записи menuentry из файла /boot/grub/grub.cfg.



    Запрет загрузки в режиме восстановления.

    Таймаут

    Время ожидания выбора при загрузке

    .

    Для того, чтобы запретить варианты загрузки в режиме восстановления, нужно с правами суперпользователя открыть :

    1. Открыть в редакторе файл /etc/default/grub:

      Command
      sudo
    kate
    1. nano  /etc/default/grub
    раскомментировать

    1. Раскомментировать строку:

      Информация
      GRUB_DISABLE_RECOVERY="true"


    2. Дополнительно

    ,
    1. в этом же файле можно уменьшить время ожидания при выборе варианта загрузки (по умолчанию - 5 секунд), например,

    вообще
    1. совсем скрыв меню (

    но
    1. в таком случае в меню

    можно
    1. НЕЛЬЗЯ будет попасть, зажав при загрузке клавишу Shift, и возможности выбора ОС/ядра не будет):

      Информация
      GRUB_TIMEOUT=0


    2. Для скрытия загрузчика с сохранением возможности переключения клавишей Shift на этап выбора ОС/ядра к параметру GRUB_TIMEOUT=0 добавить GRUB_HIDDEN_TIMEOUT=5:

      Информация
      GRUB_TIMEOUT=0
      GRUB_HIDDEN_TIMEOUT=5


    3. Сохранить изменения, выйти из редактора

    .
    1. ;

    2. Для того, чтобы эти изменения вступили в силу, обновить загрузчик командой:

      Command
      sudo update-grub


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

    Запрет выбора загрузки ядра GENERIC

    Для того, чтобы запретить все варианты загрузки, кроме варианта HARDENED , нужно с :

    1.  С правами суперпользователя открыть в редакторе файл /boot/

    groob
    1. grub/grub/grub.cfg:

      Command
      sudo
    kate
    1. nano /boot/grub/grub.cfg
    И закомментировать ненужные пункты меню, т.е.

    1. Закомментировать ненужные блоки кода, начинающиеся с menuentry, например:

      Информация

      #menuentry 'AstraLinuxCE GNU/Linux, с Linux 4.15.3-1-generic' --class astralinuxce --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.15.3-1-generic-advanced-f923f219-185e-4747-9066-6b09fd0103ae' {
      #    load_video
      #    insmod gzio
      #    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
      #    insmod part_msdos
      #    insmod ext2
      #    set root='hd0,msdos1'
      #    if [ x$feature_platform_search_hint = xy ]; then
      #      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  f923f219-185e-4747-9066-6b09fd0103ae
      #    else
      #      search --no-floppy --fs-uuid --set=root f923f219-185e-4747-9066-6b09fd0103ae
      #    fi
      #    echo    'Загружается Linux 4.15.3-1-generic …'
      #    linux    /boot/vmlinuz-4.15.3-1-generic root=UUID=f923f219-185e-4747-9066-6b09fd0103ae ro  quiet net.ifnames=0
      #    echo    'Загружается начальный виртуальный диск …'
      #    initrd    /boot/initrd.img-4.15.3-1-generic
      #}



    Предупреждение
    Эти изменения Изменения, сделанные в файле /etc/grub/grub.cfg не будут сохраняться после выполнения команды обновления загрузчика update-grub.


    Настройка выбора ядра для загрузки

    Для указания ядра, загружаемого по умолчанию используется параметр GRUB_DEFAULT в файле /etc/default/grub. Значением этого параметра может быть:

    • число — порядковый номер элемента выбора ядра меню загрузчика. Нумерация начинается с нуля;
    • идентификатор элемента меню загрузчика. Например:

      Блок кода
      GRUB_DEFAULT=gnulinux-5.15.0-70-hardened-advanced-4d59e93e-ab3e-4f05-be84-1774cd76ab8d


    • специальное значение saved - использовать последнее загруженное ядро (для сохранения информации о последнем загруженном ядре необходимо добавить параметр GRUB_SAVEDEFAULT="true"):

      Блок кода
      GRUB_DEFAULT="saved"


    Получить список элементов меню выбора ядра можно командой:

    Command
    sudo grep ^menuentry /boot/grub/grub.cfg 

    Пример вывода команды:

    Блок кода
    collapsetrue
    menuentry 'AstraLinux GNU/Linux, with Linux 5.15.0-70-lowlatency' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.15.0-70-lowlatency-advanced-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
    menuentry 'AstraLinux GNU/Linux, with Linux 5.15.0-70-lowlatency (recovery mode)' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.15.0-70-lowlatency-recovery-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
    menuentry 'AstraLinux GNU/Linux, with Linux 5.15.0-70-hardened' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.15.0-70-hardened-advanced-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
    menuentry 'AstraLinux GNU/Linux, with Linux 5.15.0-70-hardened (recovery mode)' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.15.0-70-hardened-recovery-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
    menuentry 'AstraLinux GNU/Linux, with Linux 5.15.0-70-generic' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.15.0-70-generic-advanced-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
    menuentry 'AstraLinux GNU/Linux, with Linux 5.15.0-70-generic (recovery mode)' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.15.0-70-generic-recovery-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
    menuentry 'AstraLinux GNU/Linux, with Linux 5.10.176-1-hardened' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.10.176-1-hardened-advanced-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
    menuentry 'AstraLinux GNU/Linux, with Linux 5.10.176-1-hardened (recovery mode)' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.10.176-1-hardened-recovery-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
    menuentry 'AstraLinux GNU/Linux, with Linux 5.10.176-1-generic' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.10.176-1-generic-advanced-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
    menuentry 'AstraLinux GNU/Linux, with Linux 5.10.176-1-generic (recovery mode)' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.10.176-1-generic-recovery-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
    menuentry 'AstraLinux GNU/Linux, with Linux 5.4.0-110-generic' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.4.0-110-generic-advanced-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
    menuentry 'AstraLinux GNU/Linux, with Linux 5.4.0-110-generic (recovery mode)' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.4.0-110-generic-recovery-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
    

    Идентификаторы элементов меню, которые можно использовать для задания умолчания, находятся после параметра $menuentry_id_option.

    Получить список элементов меню с их номерами можно командой:

    Command
    sudo grep 'menuentry ' /boot/grub/grub.cfg | cut -f 2 -d "'" | nl -v 0

    Пример вывода команды:

    Блок кода
    collapsetrue
         0  AstraLinux GNU/Linux, with Linux 5.15.0-70-lowlatency
         1  AstraLinux GNU/Linux, with Linux 5.15.0-70-lowlatency (recovery mode)
         2  AstraLinux GNU/Linux, with Linux 5.15.0-70-hardened
         3  AstraLinux GNU/Linux, with Linux 5.15.0-70-hardened (recovery mode)
         4  AstraLinux GNU/Linux, with Linux 5.15.0-70-generic
         5  AstraLinux GNU/Linux, with Linux 5.15.0-70-generic (recovery mode)
         6  AstraLinux GNU/Linux, with Linux 5.10.176-1-hardened
         7  AstraLinux GNU/Linux, with Linux 5.10.176-1-hardened (recovery mode)
         8  AstraLinux GNU/Linux, with Linux 5.10.176-1-generic
         9  AstraLinux GNU/Linux, with Linux 5.10.176-1-generic (recovery mode)
        10  AstraLinux GNU/Linux, with Linux 5.4.0-110-generic
        11  AstraLinux GNU/Linux, with Linux 5.4.0-110-generic (recovery mode)
    


    После внесения изменений в файл /etc/default/grub обновить параметры загрузчика:

    Command
    sudo update-grub, но лучше способа пока нет.