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

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

Ключ

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

Оглавление




Информация
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, и все внесенные в него изменения будут утеряны.

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


Установка и изменение пароля для меню загрузчика

Информация

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

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

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

    Command
    grub-mkpasswd-pbkdf2

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

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

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


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

    Информация

    #!/bin/bash

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

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

  4. Сохранить файл и выйти из редактора;

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

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


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

    Command
    sudo update-grub


    Информация

    Можно отключить запрос пароля grub, например для записи Windows. Для этого в файла /boot/grub/grub.cfg в параметрах загрузочного меню (строка, начинающаяся с "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/groob/groob.cfg.



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

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

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

    Command
    sudo nano  /etc/default/grub


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

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


  3. Дополнительно в этом же файле можно уменьшить время ожидания при выборе варианта загрузки (по умолчанию - 5 секунд), например, совсем скрыв меню (в таком случае в меню НЕЛЬЗЯ будет попасть, зажав при загрузке клавишу Shift, и возможности выбора ОС/ядра не будет):

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


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

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


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

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

    Command
    sudo update-grub


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

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

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

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

    Command
    sudo nano /boot/grub/grub.cfg


  2. Закомментировать ненужные блоки кода, начинающиеся с 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.


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

Для указания ядра, загружаемого по умолчанию:

  1. В файле /etc/default/grub указать загружаемое по умолчанию ядро в параметре GRUB_DEFAULT:

    Блок кода
    GRUB_DEFAULT="linux-image-<версия_ядра>"

    например:

    Блок кода
    GRUB_DEFAULT="linux-image-5.15.0-33-hardened"


  2. Обновить параметры загрузчика:

    Command
    sudo update-grub