Ansible에서 트리에 대한 파일 권한을 설정하는 방법

케빈 킨

664/775 권한이 필요한 디렉토리를 제외하고 기본값이 기본값으로 644 (디렉토리의 경우 755)가되도록 Ansible을 사용하여 디렉토리 트리에 권한을 설정하는 방법을 알아 내려고합니다.

순진한 구현은 다음과 같습니다.

file:
    path: "mypath"
    mode: "u+rwX,go+rX,go-w"
    recurse: True

file:
    path: "mypath/exception"
    mode: "g+w"
    recurse: True

그러나 이것은 분명히 멱 등성이 아닙니다. 실행할 때마다 mypath / exception은 그룹 쓰기 권한이 제거 된 다음 즉시 다시 추가됩니다.

대안은 mypath / *에있는 각 개별 하위 디렉토리를 열거하는 것입니다.

멱 등성 방식으로 이것을 수행하는 다른 방법이 있습니까?

larsks

find모듈을 사용하여 경로 목록을 생성 한 다음을 사용하는 대신 해당 경로에서 작업 할 수 recurse있습니다. 예를 들면 :

---
- hosts: localhost
  gather_facts: false
  tasks:

    - find:
        paths:
          - mypath
        recurse: true
        file_type: any
      register: results

    - file:
        path: "{{ item.path }}"
        mode: "u+rwX,go+rX,go-w"
      when: >-
        "mypath/exception" not in item.path
      loop: "{{ results.files }}"
      loop_control:
        label: "{{ item.path }}"

    - file:
        path: "{{ item.path }}"
        mode: "g+w"
      when: >-
        "mypath/exception" in item.path
      loop: "{{ results.files }}"
      loop_control:
        label: "{{ item.path }}"

샘플 디렉토리 트리에 대해 위의 플레이 북을 실행하면 다음과 같은 결과가 나타납니다.

PLAY [localhost] ******************************************************************************

TASK [find] ***********************************************************************************
ok: [localhost]

TASK [file] ***********************************************************************************
skipping: [localhost] => (item=mypath/exception) 
ok: [localhost] => (item=mypath/dir2)
ok: [localhost] => (item=mypath/dir3)
skipping: [localhost] => (item=mypath/exception/file3) 
skipping: [localhost] => (item=mypath/exception/file2) 
skipping: [localhost] => (item=mypath/exception/file1) 
ok: [localhost] => (item=mypath/dir2/dirc)
ok: [localhost] => (item=mypath/dir2/dira)
ok: [localhost] => (item=mypath/dir2/dirb)
ok: [localhost] => (item=mypath/dir2/dirc/somefile)
ok: [localhost] => (item=mypath/dir2/dira/somefile)
ok: [localhost] => (item=mypath/dir2/dirb/somefile)
ok: [localhost] => (item=mypath/dir3/dirc)
ok: [localhost] => (item=mypath/dir3/dira)
ok: [localhost] => (item=mypath/dir3/dirb)
ok: [localhost] => (item=mypath/dir3/dirc/somefile)
ok: [localhost] => (item=mypath/dir3/dira/somefile)
ok: [localhost] => (item=mypath/dir3/dirb/somefile)

TASK [file] ***********************************************************************************
ok: [localhost] => (item=mypath/exception)
skipping: [localhost] => (item=mypath/dir2) 
skipping: [localhost] => (item=mypath/dir3) 
ok: [localhost] => (item=mypath/exception/file3)
ok: [localhost] => (item=mypath/exception/file2)
ok: [localhost] => (item=mypath/exception/file1)
skipping: [localhost] => (item=mypath/dir2/dirc) 
skipping: [localhost] => (item=mypath/dir2/dira) 
skipping: [localhost] => (item=mypath/dir2/dirb) 
skipping: [localhost] => (item=mypath/dir2/dirc/somefile) 
skipping: [localhost] => (item=mypath/dir2/dira/somefile) 
skipping: [localhost] => (item=mypath/dir2/dirb/somefile) 
skipping: [localhost] => (item=mypath/dir3/dirc) 
skipping: [localhost] => (item=mypath/dir3/dira) 
skipping: [localhost] => (item=mypath/dir3/dirb) 
skipping: [localhost] => (item=mypath/dir3/dirc/somefile) 
skipping: [localhost] => (item=mypath/dir3/dira/somefile) 
skipping: [localhost] => (item=mypath/dir3/dirb/somefile) 

PLAY RECAP ************************************************************************************
localhost                  : ok=3    changed=0    unreachable=0    failed=0   

이 플레이 북 적절하게 멱 등성을 갖습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

.env.local.php 파일에 쓸 수있는 권한을 설정하는 방법

분류에서Dev

디렉토리의 모든 폴더 / 파일에 대한 기본 파일 권한을 설정하는 방법은 무엇입니까?

분류에서Dev

디렉토리의 모든 폴더 / 파일에 대한 기본 파일 권한을 설정하는 방법은 무엇입니까?

분류에서Dev

Apache 로그 회전에 대한 파일 권한을 변경하는 방법

분류에서Dev

SD 카드의 파일에 대한 권한을 변경하는 방법

분류에서Dev

호스트의 포트 21 ftp에 대한 권한을 설정하는 방법

분류에서Dev

호스트의 포트 21 ftp에 대한 권한을 설정하는 방법

분류에서Dev

Bash CLI : 파일 이름을 반복하지 않고 파일에 대한 권한을 동시에 만들고 설정하는 방법이 있습니까?

분류에서Dev

Vaadin에서보기 수준에 대한 권한을 설정하는 방법

분류에서Dev

Apache에 대한 파일 권한을 처리하는 간단하고 안전한 방법은 무엇입니까?

분류에서Dev

Linux에서 파일 권한을 변경하는 쉬운 방법

분류에서Dev

Linux에서 파일 권한을 나열하는 기본 방법?

분류에서Dev

Linux : find 명령이 반환 한 파일에 대한 파일 권한 (예 : ls -l)을 표시하는 방법

분류에서Dev

개발시 도커에 파일 및 디렉토리 권한을 설정하는 방법

분류에서Dev

Ansible : 디렉터리 및 파일 권한을 재귀 적으로 설정하는 방법

분류에서Dev

선택한 사용자에게 속한 모든 파일에 대한 권한을 변경하는 방법

분류에서Dev

Linux에서 권한에 따라 파일을 찾는 방법

분류에서Dev

gnu / linux에서 파일 권한 등을 설정하는 다른 방법은 무엇입니까?

분류에서Dev

Swift 3.0 및 iOS : Swift에서 파일의 삭제 권한을 설정하는 방법

분류에서Dev

Ubuntu에서 향후 / 새 파일의 권한을 자동으로 설정하는 방법은 무엇입니까?

분류에서Dev

파일 관리자에 대한 이미지 배경을 설정하는 방법 (caja 파일 관리자)

분류에서Dev

Mac을 사용하여 NAS 드라이브의 모든 파일 및 폴더에 대한 권한을 설정하는 방법

분류에서Dev

폴더의 콘텐츠에 대한 향후 권한을 설정하는 방법

분류에서Dev

웹 서버에 디렉토리 및 파일 권한을 부여하는 방법

분류에서Dev

Windows 7에서 파일에 대한 액세스 권한을 부여하는 방법은 무엇입니까?

분류에서Dev

파일에 대한 권한 설정

분류에서Dev

SFTP를 사용하여 업로드 할 때 파일에 대한 권한을 자동으로 설정하는 방법

분류에서Dev

방대한 파일 목록에서 특정 파일을 삭제하는 방법

분류에서Dev

파일 (이미지) 유형에 대한 쓰기 권한을 제한하는 방법

Related 관련 기사

  1. 1

    .env.local.php 파일에 쓸 수있는 권한을 설정하는 방법

  2. 2

    디렉토리의 모든 폴더 / 파일에 대한 기본 파일 권한을 설정하는 방법은 무엇입니까?

  3. 3

    디렉토리의 모든 폴더 / 파일에 대한 기본 파일 권한을 설정하는 방법은 무엇입니까?

  4. 4

    Apache 로그 회전에 대한 파일 권한을 변경하는 방법

  5. 5

    SD 카드의 파일에 대한 권한을 변경하는 방법

  6. 6

    호스트의 포트 21 ftp에 대한 권한을 설정하는 방법

  7. 7

    호스트의 포트 21 ftp에 대한 권한을 설정하는 방법

  8. 8

    Bash CLI : 파일 이름을 반복하지 않고 파일에 대한 권한을 동시에 만들고 설정하는 방법이 있습니까?

  9. 9

    Vaadin에서보기 수준에 대한 권한을 설정하는 방법

  10. 10

    Apache에 대한 파일 권한을 처리하는 간단하고 안전한 방법은 무엇입니까?

  11. 11

    Linux에서 파일 권한을 변경하는 쉬운 방법

  12. 12

    Linux에서 파일 권한을 나열하는 기본 방법?

  13. 13

    Linux : find 명령이 반환 한 파일에 대한 파일 권한 (예 : ls -l)을 표시하는 방법

  14. 14

    개발시 도커에 파일 및 디렉토리 권한을 설정하는 방법

  15. 15

    Ansible : 디렉터리 및 파일 권한을 재귀 적으로 설정하는 방법

  16. 16

    선택한 사용자에게 속한 모든 파일에 대한 권한을 변경하는 방법

  17. 17

    Linux에서 권한에 따라 파일을 찾는 방법

  18. 18

    gnu / linux에서 파일 권한 등을 설정하는 다른 방법은 무엇입니까?

  19. 19

    Swift 3.0 및 iOS : Swift에서 파일의 삭제 권한을 설정하는 방법

  20. 20

    Ubuntu에서 향후 / 새 파일의 권한을 자동으로 설정하는 방법은 무엇입니까?

  21. 21

    파일 관리자에 대한 이미지 배경을 설정하는 방법 (caja 파일 관리자)

  22. 22

    Mac을 사용하여 NAS 드라이브의 모든 파일 및 폴더에 대한 권한을 설정하는 방법

  23. 23

    폴더의 콘텐츠에 대한 향후 권한을 설정하는 방법

  24. 24

    웹 서버에 디렉토리 및 파일 권한을 부여하는 방법

  25. 25

    Windows 7에서 파일에 대한 액세스 권한을 부여하는 방법은 무엇입니까?

  26. 26

    파일에 대한 권한 설정

  27. 27

    SFTP를 사용하여 업로드 할 때 파일에 대한 권한을 자동으로 설정하는 방법

  28. 28

    방대한 파일 목록에서 특정 파일을 삭제하는 방법

  29. 29

    파일 (이미지) 유형에 대한 쓰기 권한을 제한하는 방법

뜨겁다태그

보관