Ich benutze Vagrant, um eine playbook-local.yml-Datei zu erstellen, um eine lokale Entwicklungsumgebung zu erstellen, die 95% der gleichen Rollen wie die Haupt-playbook.yml ausführt, was schließlich zu dem wird, was erstellt unsere Bühnen-/Produktserver. Wenn ich eine lokale Umgebung erstelle, habe ich 4 Verzeichnisse und 2 Dateien, die ich brauche, um die Berechtigungen für den Host-Rechner (in diesem Fall mein MacBook) zu ändern. Das Ändern der Verzeichnis-Berechtigungen auf dem Gastcomputer scheint nicht zu funktionieren. Wenn ich mich in den Gast einschalte und versuche, etwas zu chmodieren, ändert sich das nicht, aber es ändert sich, wenn ich es vom Host aus mache.Verwenden von Ansible zum Ändern der Host-Ordnerberechtigungen
Meine Frage ist, wie bekomme ich Ansible, Ordner- und Dateiberechtigungen auf meinem Host-Computer zu ändern, so dass es bei der Einrichtung des Projekts nicht notwendig ist, dies manuell zu tun? Hier sind einige Dinge, die ich versucht habe:
- name: Set folder permissions to 0775
shell: scripts/set-perms.sh // This runs the chmod commands
connection: local
Und dieses:
- name: Set folder permissions to 0775
become: true
connection: local
command: sudo find "{{ item }}" -type d -exec chmod 0775 {} \;
file: path={{ item }} mode=0775 state=directory recurse=yes
with_items:
- ../../../../www/system/cache
- ../../../../www/_images
- ../../../../www/app/templates
- ../../../../www/html-assets
ich gegoogelt habe den Mist aus dieser und keiner der Vorschläge, die ich Arbeit gefunden habe. Der häufigste Fehler, den ich bekomme, ist die Frage nach dem sudo-Passwort (siehe unten). Wenn ich ein Passwort eingeben muss, während Ansible läuft, ist das in Ordnung, aber wie mache ich das?
FAILED! => {"changed": false, "failed": true, "module_stderr": "sudo: a password is required\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 1}
Dies war die hilfreichste Antwort, danke. Es endete für mich zu arbeiten. –