02 · CHAPTER 02 · SYSTEMS
열쇠와 명찰을
나누는 법
사용자·그룹·파일 권한을 통해 누가 무엇을 읽고 바꿀 수 있는지 구분합니다.
SYSTEMS STUDY NOTE열쇠와 명찰을 나누는 법User · Group · Permission · sudo
01
공용 건물에도 출입 구역이 있다
핵심 용어
User Group Permission sudo
같은 서버를 사용해도 관리자실과 개인 사물함까지 모두 열려 있어서는 안 됩니다.
Linux는 사용자 ID와 그룹 ID로 프로세스와 파일의 주체를 구분합니다. 파일 권한은 소유자, 그룹, 그 밖의 사용자 순서로 읽기·쓰기·실행을 표현합니다.
sudo는 잠시 관리자 권한으로 명령을 실행하는 도구입니다. 편리하지만 누가 언제 무엇을 실행했는지 기록하고 허용 명령을 좁혀야 합니다.
02
rwx를 숫자보다 의미로 읽기
핵심 개념
r w x 640 750
권한 숫자를 외우기 전에 실제로 허용되는 행동을 생각합니다.
r파일 내용 읽기
w파일 내용 변경
x실행 또는 디렉터리 진입
640소유자 읽기·쓰기, 그룹 읽기
750소유자 전체, 그룹 읽기·실행
03
내 계정과 파일 권한 확인
관련 명령어
id groups stat -c "%A %a %U:%G %n" ~/example.txt chmod 640 ~/example.txt getent group sudo 사용자 정보와 권한을 조회하고 별도의 실습 파일에서만 변경을 연습합니다.
$ id
$ groups
$ stat -c "%A %a %U:%G %n" ~/example.txt
$ chmod 640 ~/example.txt
$ getent group sudo
04
권한은 작게, 책임은 분명하게
보안 관점
위험 요소 확인 기준 대응 원칙
777 권한은 문제를 빨리 숨길 뿐 원인을 해결하지 못합니다.
공용 웹 디렉터리와 업로드 디렉터리, 세션 저장소는 실행 사용자와 쓰기 범위를 따로 확인해야 합니다. SUID·SGID 파일과 sudoers 변경은 특히 신중해야 합니다.
권한 오류를 만났을 때 777부터 입력하지 말자. 어떤 사용자와 프로세스가 어느 작업을 해야 하는지 먼저 확인하자.
CHAPTER REVIEW
이번 장에서 기억할 한 문장
좋은 권한 설정은 모두에게 열어 주는 것이 아니라 각자에게 필요한 만큼만 정확히 나누는 것이다.