권한을 체크하면 8진수 값과 chmod 명령어가 만들어집니다. 숫자를 직접 입력해도 됩니다.
| 대상 | 읽기 (r=4) | 쓰기 (w=2) | 실행 (x=1) | 값 |
|---|
chmod 755 파일명
읽기 4, 쓰기 2, 실행 1을 더한 값입니다. 이 값을 소유자·그룹·기타 사용자 순서로 세 자리로 붙여 씁니다.
7 = 4+2+1 = 읽기·쓰기·실행 전부6 = 4+2 = 읽기·쓰기5 = 4+1 = 읽기·실행4 = 읽기만0 = 권한 없음644 — 일반 파일. 소유자는 수정 가능, 나머지는 읽기만. 설정 파일, HTML 등에 씁니다.755 — 실행 파일·디렉터리. 소유자는 전부, 나머지는 읽고 실행만. 스크립트에 씁니다.600 — 소유자만 읽고 쓰기. SSH 개인키(~/.ssh/id_rsa)는 반드시 이 권한이어야 하며, 아니면 SSH가 접속을 거부합니다.700 — 소유자 전용 디렉터리. ~/.ssh 디렉터리에 씁니다.777 — 누구나 무엇이든 가능. 권장하지 않습니다. 권한 문제가 생겼을 때 임시방편으로 쓰기 쉽지만, 보안상 위험하므로 원인을 찾아 정확한 권한을 주는 편이 맞습니다.파일에서 x는 "실행 가능"이지만, 디렉터리에서 x는 "그 안으로 들어갈 수 있다(cd)"는 뜻입니다. 그래서 디렉터리에 r만 주고 x를 빼면 목록은 보이지만 안으로 들어가거나 내부 파일을 열 수 없습니다. 디렉터리를 755로 두는 이유가 이것입니다.
chmod -R 755 디렉터리명처럼 -R을 붙입니다. 다만 파일과 디렉터리에 같은 권한이 일괄 적용되어 일반 파일까지 실행 권한이 붙으므로, 보통은 아래처럼 나눠서 적용합니다.
find 디렉터리 -type d -exec chmod 755 {} \;
find 디렉터리 -type f -exec chmod 644 {} \;