[[oktatas:linux:konfiguraciokezeles:ansible:playbook|< Playbook]]
====== Ansible grub ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2019
* [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: http://szit.hu
===== A grub jelszavazásának Lépések =====
Tekintsük át, ansible nélkül milyen lépésekre van szükség:
- Létre kell hozni a titkosított jelszót
- Létre kell hozni a következő fájlt: /etc/grub.d/01_users
- Javítani kell a következő fájlt: /etc/grub.d/10_linux
#!/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.
===== 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:
---
- 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
===== Forrás =====
* https://www.golinuxcloud.com/steps-set-grub2-password-rhel-centos-7/ (2019)
* https://www.koendiels.be/setting-a-grub-password-using-ansible-update (2019)
* https://selivan.github.io/2017/12/21/grub2-password-for-all-but-default-menu-entries.html (2019)
* https://computingforgeeks.com/how-to-protect-grub-with-password-on-debian-ubuntu-and-kali-linux/ (2019)