Linux에서 파일 생성시 기본권한 문제

Linux에서 파일을 생성할 때 갖게 되는 권한의 default 값이 있다.

git을 사용하고 있어서 서버에 원격저장소를 하나 두고 있는데 어떤 사용자가 파일을 생성하거나 수정한 후 다른 사용자가 해당 파일을 수정하지 못하는 문제가 발생했다. 확인해보니 objects 디렉토리에 있는 파일들 (아마도 파일 변경사항에 대한 데이터로 추측됨)의 권한이 모두 644로 설정되어 있는 상태. 파일들 생성시마다 기본 권한을 group도 쓰기가 가능하도록 만들어야 했기 때문에 umask 명령을 사용했다.

umask는 un masking을 의미하며 기본값은 022로 설정되어 있는데 파일은 666, 디렉토리는 777 권한에서 022로 un masking 한 결과를 파일 생성시 권한으로 설정하는 것 같다. 나의 경우엔 group 구성원들에게 쓰기권한을 부여할 수 있도록 umask 002로 설정했는데, 설정이 유지되는 것 같지는 않다. (로그아웃 후 다시 로그인해서 확인해보면 022로 초기화 되어있음)

그래서 일반적인 linux 시작 스크립트 (나의 경우엔 /etc/profile)에 추가해서 해결.