Ansible: создать пользователя с привилегиями sudo
Чтобы создать пользователя sudoers с привилегиями sudo, нужно ansible-playbook поместить пользователя в sudoers /etc/sudoers
или сделать пользователя sudoers членом группы, указанной sudoers в /etc/sudoers
. А чтобы сделать его без sudoers пароля, нужно дополнительно sudoers указать NOPASSWD
в /etc/sudoers
.
Пример /etc/sudoers
:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
И вместо ansible-playbook того, чтобы возиться с файлом sudoers /etc/sudoers
, мы можем создать новый ansible-playbook файл в каталоге /etc/sudoers.d/
, поскольку ansible-playbook этот каталог по умолчанию ansible-playbook включен в /etc/sudoers
, что исключает ansible-playbook возможность поломки существующего ansible-playbook файла sudoers, а также устраняет sudoers зависимость от содержимого sudoers внутри /etc/sudoers
.
Чтобы добиться вышеуказанного ansible-playbook в Ansible, обратитесь к следующему:
- name: sudo without password for wheel group
copy:
content: '%wheel ALL=(ALL:ALL) NOPASSWD:ALL'
dest: /etc/sudoers.d/wheel_nopasswd
mode: 0440
Вы sudoers можете заменить %wheel
другими sudoers именами групп, например %sudoers
, или sudoers другими именами пользователей, например ansible-playbook deployer
.
ansible-playbook
sudoers
Ansible: создать пользователя с привилегиями sudo
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.