Linux2분 읽기· 연습 문제 3개

권한은 고쳤는데 새 디렉터리만 다른 group으로 생길 때

기존 파일 권한은 맞지만 새로 생성되는 파일과 디렉터리의 group inheritance가 깨지는 상황에서 먼저 볼 신호, CLI 확인 순서, 흔한 오진, 안전한 복구 방향을 정리한 InfraTree 가이드입니다.

목차
  1. 권한을 고쳤는데 새로 생기는 것만 또 틀리다면, “미래”의 규칙을 안 바꾼 것이다
  2. 1) setgid 비트 — 그룹 상속
  3. 2) umask — 새 파일에서 항상 빠지는 권한
  4. 3) default ACL — 권한 비트까지 상속
  5. 정리
  6. 빠른 진단 체크리스트

권한을 고쳤는데 새로 생기는 것만 또 틀리다면, “미래”의 규칙을 안 바꾼 것이다

chmod -R/chown -R은 이미 있는 파일만 고친다. 앞으로 생길 파일·디렉터리가 어떤 그룹·권한으로 태어날지는 별도 규칙이 정한다. 공유 디렉터리에서 “고쳐도 새 파일이 또 엉뚱한 그룹”이라면 세 가지를 본다.

1) setgid 비트 — 그룹 상속

디렉터리에 chmod g+s를 걸면 그 안에서 생기는 새 파일과 하위 디렉터리가 생성자의 primary group이 아니라 부모 디렉터리의 그룹을 상속한다. 공유 폴더 그룹 문제의 정석 해법이다. ls -ld에서 권한이 drwxr-s---처럼 s가 보이면 걸려 있는 것이다.

chmod 2775 /srv/shared     # 앞자리 2 = setgid
ls -ld /srv/shared          # drwxrwsr-x 확인

2) umask — 새 파일에서 항상 빠지는 권한

새 파일의 권한은 umask가 깎는다. 서비스가 umask 022면 그룹 쓰기(g+w)가 항상 빠져, 협업 디렉터리에서 다른 멤버가 수정 못 한다. systemd 서비스면 유닛의 UMask=0002를, 로그인 프로세스면 셸 초기화를 본다.

3) default ACL — 권한 비트까지 상속

setgid는 그룹만 상속시킨다. 권한 비트까지 물려주려면 기본 ACL을 건다.

setfacl -d -m g:team:rwx /srv/shared   # 이 안에서 생기는 것의 기본 ACL
getfacl /srv/shared

정리

“기존 것”은 chmod/chown -R로, “미래 것”은 setgid + umask + default ACL로 — 이 둘을 나눠서 손봐야 재발하지 않는다. 대부분은 setgid 하나만 걸어도 그룹 문제가 사라진다.

빠른 진단 체크리스트

  • chmod -R은 기존 것만 고치고 미래 파일 규칙은 안 바꾼다
  • 공유 디렉터리에 setgid(chmod g+s)로 그룹을 상속시킨다
  • ls -ld에서 권한에 s가 있는지 확인한다
  • 새 파일에서 빠지는 권한은 umask가 깎는 것이다
  • systemd 서비스면 유닛의 UMask=를 조정한다
  • 권한 비트까지 상속하려면 default ACL(setfacl -d)을 건다
  • getfacl로 기본 ACL을 확인한다
  • 기존은 chmod로, 미래는 setgid·umask·ACL로 나눠 손본다

이 가이드로 연습하기

같은 장애를 다룬 검수된 문제입니다. 원인·복구·재발 방지를 직접 적어 보고 모범 풀이와 비교해 보세요.

다음에 읽을 가이드