학습 가이드
#20주 실습 커리큘럼

소유권 일괄 변경과 협업 디렉터리 setgid

_리눅스 실습 커리큘럼 12/40 · 권한과 사용자 (6주차)_

앞 편에서 SGID 가 "디렉터리면 새 파일이 그 그룹을 상속한다"고 했습니다. 이번 편은 그 성질을 협업 디렉터리에 실제로 쓰고, 그 전에 소유권 자체를 옮기는 chown 을 다룹니다.

chown과 setgid 협업 디렉터리, 왜 필요한가

  • 배포 디렉터리를 root 로 풀어 놓으면 웹 서버 계정이 못 읽어 500 오류가 납니다.
  • 팀 디렉터리에서 A 가 만든 파일을 B 가 못 고치는 문제는 SGID 로 해결합니다.
  • RHCSA 실기의 협업 디렉터리 과제가 정확히 이 조합입니다.

이번 편에서 익힐 것

  1. 소유자·그룹 변경 — chown 사용자:그룹, -R
  2. 그룹만 변경 — chgrp
  3. SGID 디렉터리 — chmod 2770
  4. 협업 환경 세팅 순서 — 그룹 → 사용자 → 디렉터리 → 그룹 지정 → 2770

chown과 setgid 협업 디렉터리 핵심 명령어

chown -R nginx:nginx /var/www/app      # 배포 디렉터리 통째로
chgrp -R devteam /srv/shared           # 그룹만

groupadd devteam
usermod -aG devteam alice
mkdir -p /srv/project
chgrp devteam /srv/project
chmod 2770 /srv/project                # rwxrws---
stat -c '%A %G' /srv/project           # drwxrws--- devteam
  • 그룹 자리가 소문자 s 면 SGID 와 그룹 실행이 모두 켜진 정상 상태, 대문자 S 면 그룹 실행이 빠진 상태입니다.
  • 그룹에 추가된 사용자는 다시 로그인해야 반영됩니다. 바로 확인하려면 id 사용자.

chown과 setgid 협업 디렉터리 자주 하는 실수

  • chown -R 의 -R 누락 — 하위 파일이 그대로 남습니다.
  • chmod g+s 뒤 확인 생략 — 그룹 불일치나 권한 제약으로 조용히 무시될 수 있습니다. stat 으로 보세요.
  • 순서 — 디렉터리 그룹을 먼저 바꾸고 SGID 를 걸어야 의도한 그룹이 상속됩니다.

chown과 setgid 협업 디렉터리 실습 문제

  • 웹 배포 디렉터리 소유권 일괄 변경하기
  • 협업 디렉터리 setgid 구성하기
  • 팀 협업 환경 설정하기

다음 편

다음 편은 사용자 만들기: useradd·/etc/skel·/etc/default/useradd 입니다. 화·금요일에 이어집니다.

<!-- publish_key:linux-path-20w-p12-post -->

댓글 0

아직 댓글이 없습니다. 궁금한 점이나 풀이 경험을 남겨 보세요.