Portál AbcLinuxu, 25. dubna 2024 23:47


Dotaz: Aplikace správných práv pro celý strom adresáře v Ansible

25.9.2021 17:53 vlanav | skóre: 24 | blog: Dlouhý den
Aplikace správných práv pro celý strom adresáře v Ansible
Přečteno: 404×
Odpovědět | Admin
Mám proměnou datadir, ve které je třeba /opt/software/nfsdata a chci nastavit Ansiblem správně práva (755) pro každý adresář v cestě - tedy /opt a /opt/software a /opt/software/nfs_data. Adresáře jako /opt/cokoli by se měnit neměly.

Jediné, co mě prozatím napadlo je rekurze nebo smyčka, která vždy odřízne \/.* a provede další cyklus dokud není cesta prázdná - ale vůbec netuším, jak to v Ansiblu napsat.

Díky.

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

25.9.2021 20:12 X
Rozbalit Rozbalit vše Re: Aplikace správných práv pro celý strom adresáře v Ansible
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mohl by uplne stacit zakladni 'file' modul a vhodne parametry:
file: dest=/opt/software/nfs_data mode=u=rwX,g=rX,o=rX recurse=yes
25.9.2021 20:30
Rozbalit Rozbalit vše Re: Aplikace správných práv pro celý strom adresáře v Ansible
Mohl a měl by. Ale nefunguje to.
25.9.2021 21:26 X
Rozbalit Rozbalit vše Re: Aplikace správných práv pro celý strom adresáře v Ansible
Hm, tak to muzes rovnou dat:
command: find {{ path }} -type d ! -perm 0755 -exec chmod 0755 {} \;
27.9.2021 16:31 vlanav | skóre: 24 | blog: Dlouhý den
Rozbalit Rozbalit vše Re: Aplikace správných práv pro celý strom adresáře v Ansible
Odpovědět | | Sbalit | Link | Blokovat | Admin
Prozatím jsem to zmastil takto
- name: Split path
  set_fact:
    elements: "{{ mysoft_module_storage.path.split('/') | select | list }}"
  tags:
    - mysoft-test

- name: Debug elements
  debug:
    var: elements
  tags:
    - mysoft-test

- name: Debug loop
  debug:
    msg: "{{ '/' + '/'.join(elements[0:idx + 1]) }}"
  loop: "{{ elements }}"
  loop_control:
    index_var: idx
  tags:
    - mysoft-test
27.9.2021 18:01 X
Rozbalit Rozbalit vše Re: Aplikace správných práv pro celý strom adresáře v Ansible
Vypada to fakt otresne.. a kde jsou prava?
29.9.2021 08:21 vlanav | skóre: 24 | blog: Dlouhý den
Rozbalit Rozbalit vše Re: Aplikace správných práv pro celý strom adresáře v Ansible
To jenom debug modul, abych viděl, jestli ta smyčka funguje.

A funguje, projde strom od /opt přes /opt/software až k /opt/software/nfs_data.

Teď už stačí vyměnit debug modul za file modul a trošku upravit parametry.

30.9.2021 19:24 John
Rozbalit Rozbalit vše Re: Aplikace správných práv pro celý strom adresáře v Ansible
Odpovědět | | Sbalit | Link | Blokovat | Admin
co presne nefunguje?

zvyste verbose(aspon -vv) a dejte sem vystup

/J
30.9.2021 20:45 alfonz
Rozbalit Rozbalit vše Re: Aplikace správných práv pro celý strom adresáře v Ansible
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jeden z důvodů proč jsem vyměnil Anisble za Fabric. Uvědomil jsem si, že spoustu věcí co potřebuji je potřeba stejně shell a příkazy co nejsou v Ansbile. A proč ne skripty, tak někdy jo, ale tam je problém v některých složtějších věcech a vypadá, to že Fabric to dává celkem ok.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.