Linux에서 ACL 권한을 재귀 적으로 설정하기 위해 setfacl을 어떻게 얻습니까?


20

새 서버를 설정하고 chown : chgrp : chmod 스타일 권한에 대한 ACL을 제공하려고했습니다.

setfacl의 매뉴얼 페이지는 '-R'옵션을 사용하여 파일 및 디렉토리에서 ACL을 반복적으로 설정할 수 있음을 나타냅니다.

-R, --recursive 모든 파일 및 디렉토리에 반복적으로 작업을 적용합니다. 이 옵션은 '--restore'와 함께 사용할 수 없습니다.

내 디렉토리 레이아웃이 다음과 같은 경우

test/
   subtest/
   subtest.txt

그리고 나는 실행

setfacl -Rm d:u:foo:rwX test

ACL은 'subtest'디렉토리에는 적용되지만 subtest.txt 파일에는 적용되지 않습니다.

나는 find + exec를 사용하여 해결할 수 있다고 생각하지만이 서버를 사용하여 다른 관리자를 훈련시킬 계획이며 가능한 한 간단하게 유지하고 싶습니다. 컨벤션.

감사

답변:


43

시험:

setfacl -Rm u:foo:rwX,d:u:foo:rwX test

현재 ACL과 기본값을 수정합니다. "d :"는 디렉토리의 (d) efault ACL에만 영향을 미치며 파일은 그대로 둡니다. 그런 다음 디렉토리에 파일 을 작성 하면 기본값을 통해 상위 디렉토리의 ACL을 상속합니다.


약간 중복 된 느낌이 있어도 의미가 있습니다
Joe Holloway

1
액세스 제어를 제거하는 데에도 작동합니까? 아마도 다음과 같은 효과가 있습니다. sudo setfacl

-R-m플래그 사이의 위치를 ​​변경하면 왜 명령이 중단됩니까?
pkaramol

@pkaramol : -m옵션이 인수 ( u:foo:rwX,d:u:foo:rwX이 경우 ACL 스펙) 를 취하고 옵션 순서를 전환하면 옵션이 인수와 분리됩니다. setfacl주요 옵션을 먼저 예상하도록 코딩 되었을 수도 있습니다 .
추후 공지가있을 때까지 일시 중지되었습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.