chmod로 파일 권한 변경.
두 가지 표기법 — 숫자(mode)와 문자(symbolic).
둘 다 익혀 두면 상황에 맞게.
숫자 표기 — 8진수.
권한 9비트를 3비트씩 묶어 8진수로.
r=4, w=2, x=1.
합산 — rwx=7, rw-=6, r-x=5, r--=4.
세 자리 숫자 — 소유자/그룹/기타.
755 = rwxr-xr-x, 644 = rw-r--r--, 600 = rw-------.
흔한 모드.
755 — 실행 파일·디렉토리(소유자 모두, 다른 사람 읽기·실행).
644 — 일반 파일(소유자 읽기·쓰기, 다른 사람 읽기).
600 — 비밀 파일(소유자만 읽기·쓰기, SSH 키·.env).
700 — 비밀 디렉토리.
777 — 모두 자유(거의 안 씀, 보안 위험).
문자 표기.
chmod u+x file — 소유자(u)에 실행(x) 추가(+).
chmod g-w file — 그룹(g)의 쓰기(w) 제거(-).
chmod o=r file — 기타(o)에 읽기(r)만(=).
chmod a+r file — 모든(a) 사용자에 읽기 추가.
부분 변경에 편리.
재귀.
chmod -R 755 dir — 디렉토리와 안의 모든 것에 적용.
위험 — 일반 파일에도 x를 줘 버림.
더 정교하게: find dir -type f -exec chmod 644 {} \; + find dir -type d -exec chmod 755 {} \;.
한 줄 요약
chmod는 숫자(755·644·600 등)와 문자(u+x·g-w·a+r) 두 표기.
흔한 모드 — 755(실행·dir), 644(파일), 600(비밀).
-R 재귀는 파일·디렉토리 구분 못 해 위험, find로 분리 권장.
더 알아볼 것
- umask로 기본 권한
- chmod의 X(대문자)
- setuid·setgid·sticky 표기