DevTzu
[Linux] 리눅스 chmod 명령어 사용법 | 파일 권한 변경 본문
- chmod 명령어
리눅스에서 "chmod"는 파일 및 디렉토리의 권한을 변경하는 명령어입니다. "chmod"는 "change mode"의 줄임말입니다.
리눅스 파일 시스템은 파일과 디렉토리에 대한 세 가지 유형의 권한을 정의합니다. 읽기 권한, 쓰기 권한 및 실행 권한입니다.
이러한 권한은 소유자, 그룹 및 다른 사용자에 대해 각각 정의됩니다.
리눅스 파일 사용 권한
리눅스에서, 파일(File)을 사용해 할 수 있는 작업은 크게 세 가지로 나눌 수 있습니다.
- 파일에 저장된 데이터를 읽기 (r = read).
- 파일에 데이터를 쓰기 (w = write).
- 파일 실행 (x = execute)
그런데 만약 리눅스 시스템의 모든 파일이 읽기, 쓰기, 실행 가능하게 만들어져 있다면 잘못된 명령어 사용으로 시스템 운영에 중요한 역할을 하는 파일의 내용이 변경되거나, 삭제되어 버릴 수도 있습니다.
이런 문제를 방지하기 위해 리눅스에서는 각 파일 및 디렉토리에 대해 "읽기(r)", "쓰기(w)", "실행(x)" 권한(permission)을 파일 개별적으로 지정할 수 있도록 만들어 놓았습니다. 그리고 이 세 가지 권한을 "파일을 소유한 사용자(user)", "특정 그룹(group)에 소속된 사용자", "그 외 사용자(others)"에 대해 각각 지정할 수 있게 만들었습니다.
chmod 명령은 바로 이러한 파일의 권한을 변경할 수 있게 만들어주는 명령입니다.
"change"와 "mode"의 앞 글자들을 조합한 이름입니다. (chmod = ch + mod)
여기서 "모드(mode)"란, 앞서 소개한 세 가지 권한(읽기, 쓰기, 실행)과 각각의 권한을 지정할 대상(파일 소유자, 그룹, 그외 사용자)을 포함한 파일의 속성을 말합니다. 즉, chmod 명령에서 지정하는 읽기(r), 쓰기(w), 실행(x) 권한 및 소유자(user), 그룹(group), 그 외 사용자(others)에 대한 설정 값을 통틀어 "모드(mode)"라고 지칭합니다. 그러므로 chmod 명령을 사용하여 파일의 모드(mode)를 변경한다는 것은 파일의 권한을 변경한다는 것과 동일한 의미를 가집니다.
chmod 명령
앞서 설명했듯이 chmod 명령은 파일의 모드(mode)를 변경하는 명령입니다. chmod 다음에 "선택 옵션"과 "모드를 나타내는 문자열", 그리고 "대상 파일(또는 디렉토리)"을 순서대로 입력하여 파일의 모드를 변경할 수 있습니다.
chmod [OPTION] [MODE] [FILE]
OPTION
-v : 모든 파일에 대해 모드가 적용되는 진단(diagnostic) 메시지 출력.
-f : 에러 메시지 출력하지 않음.
-c : 기존 파일 모드가 변경되는 경우만 진단(diagnostic) 메시지 출력.
-R : 지정한 모드를 파일과 디렉토리에 대해 재귀적으로(recursively) 적용.
MODE
파일에 적용할 모드(mode) 문자열 조합.
u,g,o,a : 소유자(u), 그룹(g), 그 외 사용자(o), 모든 사용자(a) 지정.
+,-,= : 현재 모드에 권한 추가(+), 현재 모드에서 권한 제거(-), 현재 모드로 권한 지정(=)
r,w,x : 읽기 권한(r), 쓰기 권한(w), 실행 권한(x)
X : "디렉토리" 또는 "실행 권한(x)이 있는 파일"에 실행 권한(x) 적용.
s : 실행 시 사용자 또는 그룹 ID 지정(s). "setuid", "setgid".
t : 공유모드에서의 제한된 삭제 플래그를 나타내는 sticky(t) bit.
0~7 : 8진수(octet) 형식 모드 설정 값.
위에서 볼 수 있듯이, chmod에서 제공되는 OPTION의 종류는 그리 많지 않습니다. 지정 디렉토리 하위의 모든 디렉토리와 파일의 모드를 변경하는 "-R" 외에는 거의 사용하지 않기 때문에 크게 신경쓰지 않아도 되는데요. 하지만 MODE로 전달되는 파라미터에는 조금(?) 복잡한 문자열 조합이 적용됩니다. 그리고 MODE에 전달되는 이 문자열 조합이, chmod 명령의 동작을 이해하는 핵심이 되는 내용이죠.
[Linux] 리눅스 find 명령어 사용법 | 파일찾기, 파일검색
https://devtzu.tistory.com/323
[Linux] 리눅스 grep 명령어 사용법 | 파일 내 특정 문자열 찾기
https://devtzu.tistory.com/324
#Linux #리눅스 #chmod #명령어 #사용법 #파일권한변경 #권한 #권한변경
'study' 카테고리의 다른 글
[DATABASE] OLTP와 OLAP의 차이점, 비즈니스 요구사항에 따른 데이터 처리 방법 (0) | 2023.05.02 |
---|---|
[Linux] 리눅스 grep 명령어 사용법 | 파일 내 특정 문자열 찾기 (0) | 2023.05.01 |
[Linux] 리눅스 find 명령어 사용법 | 파일찾기, 파일검색 (1) | 2023.04.30 |
[Architecture] 효율적인 로그 모니터링 방법 | 로그 레벨로 구분 Log Level | Java Spring Boot (0) | 2023.04.26 |
[Notion] 노션 데이터베이스 수식(formula) 속성 활용 (1) | 2023.04.25 |