setfacl 명령을 사용하여 디렉토리의 파일을 읽을 수 있는 읽기 권한을 부여했지만 ls를 사용하여 파일을 볼 수는 없습니다. 나는 노력했다
setfacl -Rdm g:grouptoadd:rx /path/directory/
그러나 파일을 읽을 수 있지만(파일에 대한 직접 경로를 사용하는 경우(예: "/path/directory/myfile")) 디렉터리(ls /path/directory/)를 나열할 수는 없습니다.
답변1
당신은 설정하고 있습니다기본 ACL-d
대신 플래그 로유효한 ACL. 기본 ACL은 기본 ACL이 설정된 디렉터리에 생성된 파일 및 디렉터리에 ACL을 설정하는 메커니즘입니다. -d
ACL을 디렉터리 자체에 적용하려면 이 옵션을 제거하세요.
이렇게 하면 getfacl
"기본값" 항목이 표시됩니다. Linux ACL에 대해 자세히 읽어 보시기 바랍니다.
[lzap@x1 foreman-packaging-rpm]$ getfacl /tmp/test
# file: tmp/test
# owner: lzap
# group: lzap
user::rwx
group::rwx
other::r-x
[lzap@x1 foreman-packaging-rpm]$ setfacl -dm u:lzap:rx /tmp/test
[lzap@x1 foreman-packaging-rpm]$ getfacl /tmp/test
# file: tmp/test
# owner: lzap
# group: lzap
user::rwx
group::rwx
other::r-x
default:user::rwx
default:user:lzap:r-x
default:group::rwx
default:mask::rwx
default:other::r-x
[lzap@x1 foreman-packaging-rpm]$ setfacl -m u:lzap:rx /tmp/test
[lzap@x1 foreman-packaging-rpm]$ getfacl /tmp/test
# file: tmp/test
# owner: lzap
# group: lzap
user::rwx
user:lzap:r-x
group::rwx
mask::rwx
other::r-x
default:user::rwx
default:user:lzap:r-x
default:group::rwx
default:mask::rwx
default:other::r-x
작동 중인 기본 ACL을 보려면 기본 ACL을 사용하여 디렉터리에 파일을 생성하기만 하면 됩니다. 제 경우에는 ACL을 touch /tmp/test/a_file
상속합니다 .u:lzap:r-x
답변2
나는 믿는다"추가할 그룹"실행 권한 없음길목차. ls /path/directory/
이는 경로를 구성하는 모든 디렉터리에 대한 실행 권한이 있는 경우에만 가능합니다.
시도해 $ getfacl /path
보고 확인하세요."그룹 추가"에는 실행 권한이 있습니다.
그렇지 않은 경우 간단히 추가할 수 있습니다 $ setfacl -m g:grouptoadd:x /path
.
또는 setfacl
옵션 없이 명령을 사용하십시오 -d
.
답변3
테스트한 대로 d
옵션(기본값을 의미함)을 사용하지 않을 때 작동합니다.
setfacl -Rdm g:grouptoadd:rx /path/directory/
이 명령은 디렉토리에 새로운 파일 rx
권한을 허용합니다.
setfacl -Rm g:grouptoadd:rx /path/directory/
이 명령을 사용하면 grouptoadd
그룹이 디렉터리를 나열하고 읽을 수 있습니다.