Tekintsük át, ansible nélkül milyen lépésekre van szükség:
#!/bin/sh -e cat << "EOF" set superusers="admin" export superusers password_pbkdf2 admin grub.pbkdf2.sha512.10000.3740C... EOF
... CLASS="--class gnu-linux --class gnu --class os --unrestricted" ...
Az –unrestricted kapcsolót kell a sor végére illeszteni.
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:
--- - 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
#!/bin/sh -e cat << "EOF" set superusers="{{ grub_user }}" export superusers password_pbkdf2 {{ grub_user }} {{ grub_password }} EOF