Tartalomjegyzék

< Playbook

Ansible grub

A grub jelszavazásának Lépések

Tekintsük át, ansible nélkül milyen lépésekre van szükség:

  1. Létre kell hozni a titkosított jelszót
  2. Létre kell hozni a következő fájlt: /etc/grub.d/01_users
  3. Javítani kell a következő fájlt: /etc/grub.d/10_linux
/etc/grub.d/01_users
#!/bin/sh -e
 
cat << "EOF"
set superusers="admin"
export superusers
password_pbkdf2 admin grub.pbkdf2.sha512.10000.3740C...
EOF
/etc/grub.d/10_linux
...
CLASS="--class gnu-linux --class gnu --class os --unrestricted"
...

Az –unrestricted kapcsolót kell a sor végére illeszteni.

Grub jelszavazása

A rendszerindítást nem szeretnénk jelszavazni, csak a grub szerkesztésbe való belépést.

A jelszót titkosítva be kell másolni a grub.yml fájlba. A titkosított jelszó előállítása, a grub-mkpasswd-pbkdf2 paranccsal lehetséges, akár felhasználóként is.

grub-mkpasswd-pbkdf2 
Adja meg a jelszót: 
Jelszó újra megadása: 
a jelszavának PBKDF2 hash kódja: grub.pbkdf2.sha512.10000.6595E9EA4F2B12F0919DC919989B7B0BA1C6B380935631D85BDCC8F472047F9A38B9675C5C51013E900CC7056CED4F33223CC16069C1E2449601B9547395C34B.25E2490FFEBEBB2A6E1D22A5872AD2F3E558D0AD1F85ECD4A7225335745C1075E6DA2D0046B17593A11300914F8BF30EE6C1459F89BA1D0CA86A815E59FA29AB

A grub.yml fájlban a titkosított jelszónak csak az elejét írtam be:

grub.yml
---
- hosts: all
  vars:
    grub_password: grub.pbkdf2.sha512.10000.6595E...
    grub_user: admin
  tasks:
    - name: Install user template
      template:
        src: 01_users.j2
        dest: /etc/grub.d/01_users
        owner: root
        group: root
        mode: '0700'
      become: yes

    - name: "add password"
      lineinfile: 
        path: /etc/grub.d/01_users
        regexp: '^password_pbkdf2 {{ grub_user }} '
        state: present
        line: 'password_pbkdf2 {{ grub_user }} {{ grub_password }}'
      become: yes

    - name: "insert unrestricted"
      lineinfile: 
        path: /etc/grub.d/10_linux
        regexp: '^CLASS=\"--class gnu-linux --class gnu --class os\"'
        state: present
        line: 'CLASS="--class gnu-linux --class gnu --class os --unrestricted"'
      become: yes
     
    - name: run update-grub 
      command: update-grub
      become: yes
01_users.j2
#!/bin/sh -e
 
cat << "EOF"
set superusers="{{ grub_user }}"
export superusers
password_pbkdf2 {{ grub_user }} {{ grub_password }}
EOF

Forrás