chmod 명령어는 파일이나 디렉토리의 권한을 변경할 때 사용된다. UNIX 및 Linux 시스템에서 파일의 읽기, 쓰기, 실행 권한을 관리하는 중요한 도구다.
1. 기본 개념
파일이나 디렉토리의 권한은 세 가지 범주로 나뉜다:
- 소유자(owner): 파일을 소유한 사용자
- 그룹(group): 파일을 소유한 사용자가 속한 그룹
- 기타(others): 위 두 범주에 속하지 않는 모든 사용자
각 범주에 대해 세 가지 권한을 설정할 수 있다:
- 읽기(read, r): 파일을 읽을 수 있는 권한 (디렉토리인 경우 목록 확인 가능)
- 쓰기(write, w): 파일을 수정할 수 있는 권한 (디렉토리인 경우 파일 추가/삭제 가능)
- 실행(execute, x): 파일을 실행할 수 있는 권한 (디렉토리인 경우 접근 가능)
2. 숫자 형식
권한은 8진수로 나타내며, 각 권한은 특정 숫자로 매핑된다:
- 읽기(r) = 4
- 쓰기(w) = 2
- 실행(x) = 1
세 개의 권한을 조합하여 숫자로 표현한다. 예를 들어:
- 읽기 + 쓰기 + 실행: 7 (4 + 2 + 1)
- 읽기 + 쓰기: 6 (4 + 2)
- 읽기 + 실행: 5 (4 + 1)
- 읽기만: 4
- 실행만: 1
- 권한 없음: 0
숫자 조합 예시:
- chmod 755 file.txt
- 소유자: 읽기, 쓰기, 실행 (7)
- 그룹: 읽기, 실행 (5)
- 기타: 읽기, 실행 (5)
3. 문자 형식
숫자 대신 문자로도 권한을 설정할 수 있다. 이때 u(소유자), g(그룹), o(기타), a(전체)를 사용한다.
- +: 권한을 추가
- ``: 권한을 제거
- =: 특정 권한만 설정
문자 형식 예시:
- chmod u+x file.txt: 소유자에게 실행 권한을 추가
- chmod g-w file.txt: 그룹의 쓰기 권한을 제거
- chmod o=r file.txt: 기타 사용자에게 읽기 권한만 부여
4. 디렉토리 권한
디렉토리에 권한을 설정할 때는 파일과 동일한 방법으로 설정되지만, 의미는 조금 다르다.
- 읽기 권한(r): 디렉토리의 파일 목록을 볼 수 있음.
- 쓰기 권한(w): 디렉토리 내에서 파일을 추가하거나 삭제할 수 있음.
- 실행 권한(x): 디렉토리 내에서 파일에 접근 가능.
하위 디렉토리 및 파일에 권한 적용
- chmod -R 755 directory/
: directory/와 그 하위 파일 및 디렉토리 모두에 재귀적으로 755 권한을 적용.
5. 실습 예시
예시 1: 파일에 권한 추가
chmod 644 example.txt
- 소유자는 읽기/쓰기 권한 (6)
- 그룹과 기타는 읽기만 가능 (4)
예시 2: 실행 권한 추가
chmod +x script.sh
- 모든 사용자에게 실행 권한을 추가
예시 3: 디렉토리에 재귀적으로 권한 변경
chmod -R 755 /var/www/html
- /var/www/html 디렉토리와 그 하위 모든 파일 및 디렉토리에 755 권한 적용
6. 기타 옵션
- R: 재귀적으로 하위 파일 및 디렉토리 모두에 권한을 적용.
- -reference: 다른 파일의 권한을 기준으로 설정.
- chmod --reference=otherfile.txt myfile.txt
요약
- chmod는 파일과 디렉토리의 권한을 설정하는 명령어로, 8진수(숫자)와 문자 형식으로 설정할 수 있다.
- 권한은 소유자, 그룹, 기타 사용자로 나누어 설정되며, 읽기, 쓰기, 실행 권한을 조합해 적용한다.
https://aube1225.blogspot.com/2024/09/chmod.html
'명령어' 카테고리의 다른 글
맥북에서 폴더를 EC2 서버에 업로드 : scp, ssh (1) | 2024.09.25 |
---|