Добавить строку в visudo после корневой строки - PullRequest
0 голосов
/ 25 августа 2018

Я тестирую некоторое развертывание Ansible и мне нужно добавить пользователя ansible в sudoers. Вместо редактирования я просто каждый раз копирую этот скрипт:

echo 'ansible ALL=(ALL)       NOPASSWD: ALL' | sudo EDITOR='tee -a' visudo

Что добавляет ansible ALL=(ALL) NOPASSWD: ALL в конец файла.

Как добавить его после корневой строки, чтобы сделать его таким образом с помощью скрипта?

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
ansible ALL=(ALL)       NOPASSWD: ALL

Ответы [ 2 ]

0 голосов
/ 25 августа 2018

Ну, это выглядит немного глупо, но ...

Создайте файл с именем add_ansible.sed со следующей строкой:

/^root/aansible ALL=(ALL) NOPASSWD: ALL

Затем запустите visudo следующим образом:

sudo EDITOR='sed -i -f add_ansible.sed' visudo
0 голосов
/ 25 августа 2018

Если вам действительно нужно это сделать, включите его в сборник пьес.
Управление конфигурацией не должно происходить вне инструмента, чтобы предотвратить смещение.

  • template:
    src: templates / sudoers
    dest: / etc / sudoers
    validate: '/usr / sbin / visudo -cf% s '
...