그룹에 대한 쓰기 권한을 자동으로 설정

그룹에 대한 쓰기 권한을 자동으로 설정

여러 사용자가 동일한 파일을 제공할 수 있는 디렉터리를 만들고 싶고, 모든 사용자가 만든 모든 파일에 기본적으로 그룹의 모든 사람이 쓰기 권한을 갖기를 원합니다.

디렉토리에 setgid를 설정했고 모든 새 파일에 올바른 그룹이 있습니다. 그러나 쓰기 권한 없이 그룹에 새 파일이 계속 생성됩니다.

내가하려는 일에 대한 설명은 다음과 같습니다.

(루트 사용자로):

mkdir --mode=u+rwx,g+rws,o-rwx /tmp/mydir
chown root.mygroup /tmp/mydir
touch /tmp/mydir/test.txt

그러면 내가 이것을 할 때 ls -la /tmp/mydir/나는 얻는다.

drwxrws---  2 root    mygroup    4096 Sep 12 12:04 .
drwxrwxrwt 11 root    root       4096 Sep 12 12:04 ..
-rw-r--r--  1 root    mygroup    0    Sep 12 12:03 test.txt

따라서 그룹 구성원이 작성한 모든 새 파일에 대해 그룹에 대한 쓰기 권한이 채워지지 않습니다. 다른 그룹 사용자는 위의 예 chmod g+w와 같이 특정 파일에 대한 작업을 수행하여 여전히 이를 재정의할 수 있다는 것을 알고 있습니다. test.txt이는 대부분의 경우 올바른 동작이지만 특정 디렉터리를 재귀적으로 변경하고 쓰기 권한을 자동으로 설정하는 방법이 있습니까? 해당 디렉토리에 있는 모든 새 파일의 그룹 및 소유자로?

답변1

새 파일 및 폴더에 대한 기본 권한은 다음 요소에 따라 결정됩니다.마스크. 기본값을 구성하는 경우마스크사용자의 경우 새 파일 및 폴더에 대한 002그룹 권한이 설정됩니다 . rwumask를 사용하는 모든 사용자에 대해 Umask를 구성할 수 있습니다 pam_umask.

Debian 기반 배포판에서 사용하려면 pam_umask파일 끝에 다음을 추가하여 모듈을 구성해야 합니다./etc/pam.d/common-session

 session optional   pam_umask.so

그런 다음 에서 원하는 umask 값을 구성합니다 /etc/login.defs.

PAM을 사용하여 구성된 마스크는 모든 Gnome 응용 프로그램에서 작동하지 않습니다(참조:umask전체 그놈 세션을 설정하는 방법). 그러나 ssh시작된 세션은 tty영향을 받지 않습니다.

시스템의 기본 umask를 변경하지 않으려면 다음을 사용할 수 있습니다.POSIX 액세스 제어 목록. 디렉터리에 ACL이 설정되면 새 파일은 ACL을 상속합니다.기본 액세스 제어 목록. setfacl및를 사용하여 각각 ACL을 설정하고 수정할 수 있습니다 getfacl. 일부 파일 시스템에서는 ACL을 활성화하기 위해 추가 마운트 플래그가 필요할 수 있습니다.

관련 정보