[참고]
# 하위 파일들까지 recursive하게 모든 권한 허용
chmod -R 777 파일명
리눅스에서 파일(File)을 사용해 할 수 있는 작업은 크게 세 가지로 나눌 수 있다.
- 파일에 저장된 데이터를 읽기. (r = read).
- 파일에 데이터를 쓰기. (w = write).
- 파일 실행. (x = execute)
만약 리눅스 시스템의 모든 파일이 읽기, 쓰기, 실행 가능하게 만들어져 있다면 시스템에 중요한 역할을 하는 파일의 내용이 변경되거나, 사용자의 사소한 실수로 모든 파일이 삭제되어 버릴 수 있으므로 이런 문제를 방지하기 위해,
리눅스에서는 각 파일 및 디렉토리에 대해 읽기(r), 쓰기(w), 실행(x) 권한을 개별적으로 지정할 수 있게 하였다.
그리고 이 세 가지 권한을 파일을 소유한 사용자(user), 특정 그룹(group)에 소속된 사용자, 그 외 사용자(others)에 대해 각각 지정할 수 있게 만들었다.
chmod란?
- 이러한 파일의 권한을 변경할 수 있게 만들어주는 명령어
- change mode
chmod 사용법
[root@localhost~]$ chmod [OPTION] [MODE] [FILE]
chmod 다음에 "선택 옵션"과 "모드를 나타내는 문자열", 그리고 "대상 파일(또는 디렉토리)"을 순서대로 입력하여 파일의 모드를 변경할 수 있다.
[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) 형식 모드 설정 값.
8진수(octal) 형식으로 파일 모드(mode) 지정 방법
[예시]
# 모든 사용자가 읽고 쓰고 실행할 수 없도록 지정.
$ chmod 000 FILE
---------- 1 ppotta manager 23 Mar 26 04:13 FILE
# 모든 사용자가 읽고 쓰고 실행할 수 있는 권한 지정.
$ chmod 777 FILE
-rwxrwxrwx 1 ppotta manager 23 Mar 26 04:13 FILE
# 소유자는 모든 권한, 그룹 및 그 외 사용자는 읽기와 실행만 가능.
$ chmod 755 FILE
-rwxr-xr-x 1 ppotta manager 23 Mar 26 04:13 FILE
# 소유자 및 그룹은 읽기 가능, 그 외 사용자는 권한 없음
$ chmod 440 FILE
-r--r----- 1 ppotta manager 23 Mar 26 04:13 FILE
8진수 형식을 이용할 때는 MODE 파라미터로 전달되는 값이 파일의 권한에 그대로 적용되기 때문에 u, g, o, a 또는 =, +, - 등과 같이 사용할 수 없다.
'개발' 카테고리의 다른 글
[FastAPI] HTTP Request를 사용하는 두 가지 방법 (0) | 2023.07.18 |
---|---|
FastAPI 공식문서 내용 정리 (0) | 2023.07.17 |
[Linux] 명령어 Is 옵션의 의미, ls -l 영역별 의미 (0) | 2023.03.17 |
[에러해결] Could not load the Qt platform plugin "xcb" (0) | 2023.01.27 |
[Linux] MySQL 명령어 : 접속, 데이터베이스, 사용자 계정 생성 등 (0) | 2022.10.12 |