2016-08-03 10 views
1

Angenommen, es gibt ein Verzeichnis/Verzeichnis/Tools. Werkzeuge enthält eine Reihe von Skripten, sagen wir, a.sh, b.sh, c.sh.Ansible: Ändern der Berechtigungen von Dateien in einem Verzeichnis in .YML-Datei

Ich brauche die Berechtigungen von a.sh, b.sh zu setzen und c.sh zu 0775.

ich zur Zeit in der folgenden Art und Weise getan haben:

- name: Fix 'support_tools' permissions 
    file: path={{ item }} owner=abc group=abc mode=0775 
    with_items: 
    - /dir/tools/a.sh 
    - /dir/tools/b.sh 
    - /dir/tools/c.sh 

Btw, 'file: pfad =/dir/tools eigner = abc gruppe = abc modus = 0775' setzt die berechtigung des tools-verzeichnisses, aber nicht der darin enthaltenen dateien.

Gibt es einen besseren Weg, dies zu erreichen?

+0

Haben Sie versucht, das Hinzufügen 'state = directory' zu dem zweiten Versuch? – ydaetskcoR

Antwort

5

Versuchen:

- name: Fix 'support_tools' permissions 
    file: path=/dir/tools owner=abc group=abc mode=0775 state=directory recurse=yes 
+0

Noch eine Frage: Falls neben a.sh, b.sh und c.sh noch andere Verzeichnisse vorhanden sind und ihre Berechtigungen nicht geändert werden sollen, wie können sie ausgeschlossen werden? – Aarvi

+0

@Aarvi ist es leider alles oder nichts. –

0

Sie überspringen können auch Gruppe angeben. Überprüfen Sie dann Ihre XML-Datei, indem Sie sie mit dem Parameter --check ausführen.

0

Versuchen:

- name: Fix 'support_tools' permissions 
    shell: 'chmod a+x /dir/tools/*' 
Verwandte Themen