모든 걸 결정하는 9 비트
Unix 의 모든 파일은 3 세트 × 3 비트의 권한을 가져: read, write, execute — 각각 owner, group, others 용. ls -l 의 rwxr-xr-- = owner 전부, group 은 읽기+실행, others 는 읽기만.
심볼 chmod
chmod u+x file— owner 에 실행 추가chmod g-w file— group 의 쓰기 제거chmod o= file— others 모든 권한 제거chmod a+r file— 모두 읽기 (a = u+g+o)
숫자 chmod
각 rwx 가 octal 한 자리. r=4, w=2, x=1. 합 — rwx=7, rw-=6, r-x=5, r--=4. 세 자리 = owner / group / others.
chmod 755 script.sh— rwxr-xr-x. 실행파일 표준.chmod 644 file.txt— rw-r--r--. 일반파일 표준.chmod 600 ~/.ssh/id_ed25519— rw-------. SSH private key 필수.chmod 700 ~/.ssh— rwx------. SSH 디렉터리.
디렉터리에선 의미가 달라
디렉터리의 x = '들어갈 수 있음' (cd), r = '목록 볼 수 있음', w = '항목 추가 / 삭제 가능'. 그래서 스크립트가 디렉터리에 644 가 아닌 755 를 박는 경우 많아.
chown — owner 변경
chown alice file 로 owner = alice. chown alice:staff file 로 owner+group. -R 재귀. 보통 sudo 필요 — 자기 파일을 남에게 넘기는 게 흔히 금지.
umask — 기본 권한
파일 생성 시 kernel 은 0666 & ~umask, 디렉터리는 0777 & ~umask 를 적용. 기본 022 면 파일 644, 디렉터리 755. umask 077 로 두면 새 파일은 본인만 읽음 — private 데이터 다루는 dotfile 에 유용.