linux / setfacl-지정된 소유자 / 그룹으로 상위 디렉토리의 모든 현재 / 미래 파일 / 디렉토리를 775로 설정


42

"members"라는 디렉토리가 있고 그 아래에 폴더 / 파일이 있습니다. 현재의 모든 폴더 / 파일과 그 폴더에 생성 된 미래 폴더에 기본적으로 775 개의 권한이 있고 소유자 / 그룹 nobody / admin에 각각 속하는 방법을 재귀 적으로 설정하려면 어떻게해야합니까? 마운트 된 ACL을 활성화했지만이 작업을 제대로 수행하기 위해 setfacl 명령을 가져올 수 없습니다. 이것을 달성하는 방법에 대한 아이디어가 있습니까?

답변:


62

실제로 지금까지 내가 요청한 것을 수행 하고이 문제를 겪는 사람이라면 누구나이 솔루션을 시도 할 수있는 것을 발견했습니다.

sudo setfacl -Rdm g:groupnamehere:rwx /base/path/members/
sudo setfacl -Rm g:groupnamehere:rwx /base/path/members/

R 은 재귀 적이므로, 해당 디렉토리 아래의 모든 규칙이 적용됩니다.
d 는 기본값이며, 해당 디렉토리에서 생성 된 모든 향후 항목에 대해 이러한 규칙이 기본적으로 적용됩니다. 규칙을 추가 / 수정하려면 m 이 필요합니다.

첫 번째 명령은 새 항목에 대한 것이고 (따라서 d) 두 번째 명령은 폴더 아래에있는 기존 / 기존 항목에 대한 것입니다. 이 것이 조금 복잡하고 직관적이지 않기 때문에 이것이 누군가를 돕기를 바랍니다.


2
이것이 조부모 디렉토리의 소유자가 새 손자 디렉토리의 내용을 올바르게 수정할 수 있도록하는 데 필요한 것입니다.
Joost

귀하가 Rpi의 유일한 사용자 인 경우 g : groupname을 pi : pi로 바꾸거나 pi로 바꾸십시오.
SDsolar

한 줄에 사용자, 그룹 및 기타를 지정할 수 있습니다 (예 :) -Rdm g:groupnamehere:rwx, -Rdm u:groupnamehere:rwx.
user2340939

18

당신의 대답과 함께 가려면 ...

이러한 명령을 다음과 같이 결합 할 수 있습니다.

sudo setfacl -Rm d:g:groupnamehere:rwx,g:groupnamehere:rwx /base/path/members/

멋지다. d:첫 번째 항목 대신 어떻게 설정 -Rmd합니까? 두 번째 매개 변수에는 없어야한다고 말할 수 있습니다 default. 리눅스가 나에게 그것을 받아들이는 방법은 이상합니다.
JREAM

1
@JREAM : 리눅스 (실제로 getopt_long)로 전체 인수 전송 옵션-m 입니다 손으로 구문 분석 으로 setfacl, 쉼표로 분리 전달 된 인수를. ACL을 실제로 변경할 때 마지막에 반복되는 링크 된 목록에 추가됩니다.
Benoit Duffez

2

Linux의 setfacl 에는 아마도 찾고있는 기본 권한을 조작하기위한 -d-k옵션이 있습니다 (자세한 내용은 man 참조).


1

적절한 권한이 부여 된 사용자, 디렉토리 및 파일의 권한이 필요할 때 간단한 UNIX 권한을 재귀 적으로 쉽게 설정할 수 있습니다. 이를 자동으로 적용 할 수 없습니다.

사용자에게 umask 0002 세트를 사용하도록 지시 할 수 있으며 이는 응용 프로그램에 따라 0775에서 새 파일을 작성하는 데 도움이됩니다. 그러나 강제력은 없습니다.

ACL은 UNIX / Linux 시스템에서 상속되지 않습니다. 그들은 요구에 따라 설정됩니다.

파일 / 디렉토리 소유권에 관해서는 운이 좋지 않습니다.

파일 / 디렉토리 그룹 소유권의 경우 디렉토리 set-gid 비트 (예 : DIRECTORIES의 g + s)를 설정하면 그룹 소유권이 상속됩니다.

그러한 상황에서 내가 한 일은 부적합한 권한 / 소유권을 해당 디렉토리의 표준으로 재설정하는 주기적 루트 크론 스크립트를 실행하는 것입니다.

다른 (권장되지 않음) 프로세스는 이러한 파일을 작업 할 때 동일한 사용자 ID를 사용하는 것입니다. 사용자가 자신의 UID로 시스템에 로그인 한 다음 sudo 또는 su를 사용하여 ID로 실행하면됩니다. 이것은 여전히 ​​ACL 및 권한 비트와 관련하여 100 %가 아닙니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.