공유 디렉터리에 대한 권한

공유 디렉터리에 대한 권한

저는 리눅스 민트 18을 사용하고 있습니다. 여러 개의 공유 디렉터리가 있다고 가정합니다. 각 디렉터리는 특정 그룹에 속합니다. 그 중 하나가 foo인데 Pippo와 Pluto가 공유해야 하므로 foo 그룹을 만들고 Pippo와 Pluto를 추가했습니다. foo 및 해당 하위 디렉터리에서 생성된 모든 항목은 작성자가 Pippo인지 Pluto인지에 관계없이 Pippo 및 Pluto에서 액세스할 수 있어야 합니다. 문제는 새 파일이나 디렉터리가 생성될 때 foo 폴더와 그 하위 디렉터리의 그룹을 변경하고 foo 에 파일을 보냅니다.

foo 그룹에 새 콘텐츠를 추가하는 방법은 무엇입니까?

편집하다

foo 폴더 외부에서 Pippo 또는 Pluto가 생성한 모든 파일에는 각각 Pippo 및 Pluto로 설정된 그룹이 있어야 합니다.

답변1

(당신이 발견한) 기본 동작은 파일에 소유자와 동일한 UID 및 GID를 제공하는 것입니다. 이를 재정의하려면 다음을 설정해야 합니다.GID 비트 설정파일이 저장된 디렉토리에 있습니다. 이는 이미 존재하는 파일 및 디렉터리에 영향을 미치지 않으므로 아래 각 디렉터리에 대한 권한도 수정해야 합니다(@cas가 언급했듯이 foo그룹 구성원이 서로의 작업을 수정하고 디렉터리를 볼 수 있도록 허용할 수 있습니다). )이므로 이러한 권한도 추가해야 합니다.)

이 문제를 해결하려면(디렉터리 구조를 이미 생성했다고 가정) 구조의 루트에서 다음 명령을 실행합니다.

find . -type d -exec chmod g=rwsX {} \;
chgrp -R foo *

find나는 파일에 setuid/setgid 비트를 설정하는 것과 같은 디렉토리를 선택 하곤 했습니다.다른 의미를 가지고 있다. 물론, 새로운 디렉토리를 생성하고 싶다면 를 사용하지 않고 chmod/ chgrp명령어 만 실행하면 됩니다 find.

편집: chmod권한이 수정되었습니다.

답변2

cron 작업을 실행하여 콘텐츠 소유자를 foo 그룹으로 반복적으로 변경할 수 있습니다.

관련 정보