IT TIP

Ansible-디렉토리의 경우 모드 755, 파일의 경우 재귀 적으로 644

itqueen 2020. 11. 30. 20:33
반응형

Ansible-디렉토리의 경우 모드 755, 파일의 경우 재귀 적으로 644


누구나 내 디렉토리 트리의 모든 파일을 나열하고 읽을 수 있도록하고 싶지만 파일을 실행 가능하게 만들고 싶지 않습니다.

dir
  \subdir1
      file1
  \subdir2
      file2
  ...
  \subdirX
      fileX

다음 작업은 내 디렉터리와 파일을 읽을 수 있도록하지만 모든 파일을 실행 가능하게 만듭니다.

- name: Make my directory tree readable
  file:
    path: dir
    mode: 0755
    recurse: yes

반면에 0644 모드를 선택하면 모든 파일을 실행할 수 없지만 디렉토리를 나열 할 수 없습니다.

모든 디렉토리에 대해 모드 755를 설정하고 디렉토리 트리의 모든 파일에 대해 644를 설정할 수 있습니까?

감사합니다.


버전 1.8부터 Ansible은 기호 모드를 지원합니다. 따라서 다음은 원하는 작업을 수행합니다.

- name: Make my directory tree readable
  file:
    path: dir
    mode: u=rwX,g=rX,o=rX
    recurse: yes

X (x 대신)는 적어도 하나의 x 비트 세트가있는 디렉토리 또는 파일에만 적용되기 때문입니다.


Ansible 파일 / 복사 모듈은 파일 유형에 따라 권한을 지정하는 세분성을 제공하지 않으므로 다음 행을 따라 작업을 수행하여 수동으로 수행해야 할 가능성이 높습니다.

- name: Ensure directories are 0755
  command: find {{ path }} -type d -exec chmod -c 0755 {} \;
  register: chmod_result
  changed_when: "chmod_result.stdout != \"\""

- name: Ensure files are 0644
  command: find {{ path }} -type f -exec chmod -c 0644 {} \;
  register: chmod_result
  changed_when: "chmod_result.stdout != \"\""

이는 {{ path }}모든 파일 또는 디렉토리의 권한을 지정된 권한 으로 반복 하고 변경 하는 효과가 있습니다 .

참고 URL : https://stackoverflow.com/questions/28778738/ansible-mode-755-for-directories-and-644-for-files-recursively

반응형