Ansible использует директивы become
, become_user
и become_method
для достижения эскалации привилегий. Вы можете применить их к целой пьесе или книжке, установить их в включенную playbook или установить для нее определенную задачу.
- name: checkout repo
git: repo=https://github.com/some/repo.git version=master dest={{ dst }}
become: yes
become_user: some_user
Вы можете использовать become_with
, чтобы указать, как достигается эскалация привилегий , по умолчанию sudo
.
Директива действует для области действия блока, в котором она используется ( examples ).
См. Хосты и пользователи для некоторых дополнительных примеров и Станьте (Privilege Escalation) для более подробной документации.
В дополнение к областям действия become
и become_user
, Ansible 1.9 добавил некоторые новые переменные и параметры командной строки, чтобы установить эти значения для продолжительности воспроизведения в отсутствие явных директив:
become
/ become_user
. Начиная с Ansible 2.0.2.0, более старый sudo
/ sudo_user
синтаксис, описанный ниже, все еще работает, но уведомление об устаревании указывает, «Эта функция будет удалена в будущей версии».
- name: checkout repo
git: repo=https://github.com/some/repo.git version=master dest={{ dst }}
sudo: yes
sudo_user: some_user