여러 사용자가 공유하는 프로젝트가있는 특정 디렉토리가 있습니다. 이 사용자는 SSH를 사용하여이 디렉토리에 액세스하고 파일을 수정 / 작성합니다.
이 프로젝트는 특정 사용자 그룹 만 쓸 수 있어야합니다. "mygroup"이라고합니다. SSH 세션 중에 현재 사용자가 만든 모든 파일 / 디렉토리는 기본적으로 "mygroup"그룹이 소유하고 그룹 쓰기 가능 권한을 가져야합니다.
다음과 같은 권한 문제를 해결할 수 있습니다 umask
.
$ cd project
$ umask 002
$ touch test.txt
"test.txt"파일은 이제 그룹 쓰기 가능하지만 "mygroup"이 아닌 기본 그룹 ( "mislav", 사용자 이름과 동일)에 속합니다. 내가 할 수 chgrp
재귀 원하는 그룹을 설정합니다,하지만 난 umask를이 세션 동안 기본 권한을 변경 같은 암시 적으로 일부 그룹을 설정하는 방법이 알고 싶어.
이 특정 디렉토리는 작업 사본과 함께 공유 자식의 repo 내가 원하는 git checkout
과 git reset
작업은 작업 복사본에서 만든 새 파일에 대한 올바른 마스크와 그룹을 설정할 수 있습니다. OS는 Ubuntu Linux입니다.
업데이트 : 동료는 POSIX ACL 의 getfacl / setfacl을 살펴 봐야한다고 제안 하지만 umask 002
현재 세션에서 아래 솔루션을 결합하면 나에게 충분하며 훨씬 간단합니다.