Ansible Playbooksで「become: yes」と指定すると、Ansibleが実行するタスクを特権ユーザー(通常はスーパーユーザー)として実行することを意味します。これにより、タスクが実行される際に必要な特権が確保されます。
通常、AnsibleはSSHを介してリモートサーバーに接続し、タスクを実行します。多くの場合、特権ユーザー権限が必要な操作(ファイルの作成、パッケージのインストールなど)が含まれるため、Ansibleはデフォルトでは通常のユーザーとして実行されません。しかし、特権昇格を必要とするタスクを実行するためには、Ansibleに特権ユーザーとして実行するよう指示する必要があります。
具体的な使用方法は、Ansible Playbookのタスクセクション内で「become: yes」と指定します。
例えば、以下のようなPlaybookがあるとします。
---
- name: Example Playbook
hosts: myserver
become: yes
tasks:
- name: Install package
yum:
name: mypackage
state: present
このPlaybookでは、become: yes
が指定されているため、yum
モジュールを使用してmypackage
パッケージをインストールするタスクが特権ユーザーとして実行されます。
なお、become: yes
の代わりにbecome: true
と指定することもできます。
特権昇格を必要とするタスクがある場合は、become: yes
を適切に設定することで、Ansible Playbooksを正常に実行することができます。