Edited at

Ansible ~fileモジュール~

More than 1 year has passed since last update.

Ansible Documentationのfileモジュールの内容のメモです。


Ansible Documentation


概要


  • ファイル、シンボリックリンク、ディレクトリの設定や削除をします。他の多くのモジュールはfileモジュールと同じオプションをサポートします。


オプション

頻度
パラメータ
必須
デフォルト値
選択肢
説明

follow
no
no
yes
no
既にファイルが存在する場合置き換えない。(要確認)

force
no
no
yes
no
下記2ケースにおいてシンボリックリンクを強制的に作成する
・シンボリックリンク先のファイルが存在しない
・シンボリックリンク先のファイルが存在している("path"で指定したファイルのリンクを解除し、"src"で指定したファイルへのシンボリックリンクを作成する)。


group
no
-
-
chownコマンドで設定できる所有者グループの設定。


mode
no
-
-
chmodコマンドで設定できる権限設定。8進数の指定とシンボリックモード(例を参照)での指定が可能。


owner
no
-
-
chownコマンドで設定できる所有者ユーザの設定。


path
yes
-
-
ファイルパスの指定。


recurse
no
no
yes
no
再帰的にファイル属性を変更するか(state=directoryの場合のみ)。

selevel
no
s0
-
selinuxのレベル。

serole
no
-
-
selinuxのロール。

setype
no
-
-
selinuxのタイプ。

seuser
no
-
-
selinuxのユーザ。


src
no
-
-
実体ファイルのパスを指定(state=linkの場合のみ)。相対パスは設定できない。


state
no
file
file
link
directory
hard
touch
absent
file: ファイルが既に存在する場合に指定。もし存在しない場合、copyモジュールやtemplateモジュールを使用する。
link: シンボリックリンクの場合に指定。
directory: ディレクトリの場合に指定。存在しない場合サブディレクトリとして作成される。権限は上位から継承される。(要確認)
hard: ハードリンクの場合の指定。
touch: pathで指定したファイルが存在しない場合、空ファイルを作成する。既にファイルが存在する場合、タイムスタンプが更新される。
absent: ディレクトリやファイル、シンボリックリンクの削除。



example.yml

- file: path=/etc/foo.conf owner=foo group=foo mode=0644

- file: src=/file/to/link/to dest=/path/to/symlink owner=foo group=foo state=link
- file: src=/tmp/{{ item.path }} dest={{ item.dest }} state=link
with_items:
- { path: 'x', dest: 'y' }
- { path: 'z', dest: 'k' }

# touch a file, using symbolic modes to set the permissions (equivalent to 0644)
- file: path=/etc/foo.conf state=touch mode="u=rw,g=r,o=r"

# touch the same file, but add/remove some permissions
- file: path=/etc/foo.conf state=touch mode="u+rw,g-wx,o-rwx"



参考