chmod
리눅스(Linux)는 하나의 컴퓨터를 여러 사람이 사용할 수 있는 멀티유저 운영체제(OS)이기 때문에 권한 관리가 매우 중요하다.
리눅스 파일, 디렉토리 권한 확인
ls -l 명령을 사용하여, 권한을 확인할 수 있다.
snchoi@snchoi:/usr/local/bin$ ls -al
합계 354452
drwxr-xr-x 2 root root 4096 6월 9 15:39 .
drwxr-xr-x 11 root root 4096 5월 9 11:39 ..
-r-xr-xr-x 1 root root 140376278 5월 9 18:52 argocd
-rwxr-xr-x 1 root root 12737304 2월 13 15:00 docker-compose
-rwxr-xr-x 1 root root 60450008 6월 9 15:39 gitlab-runner
-rwxr-xr-x 1 root root 74684776 2월 13 14:10 kubectl
-rwxr-xr-x 1 root root 74684776 2월 13 14:10 oc
출력 결과는 각각 파일종류 및 권한, 링크 수, 사용자(소유자), 그룹, 파일크기, 수정시간, 파일이름을 나타낸다.
파일 권한은 ‘-rwxr-xr-x’으로 확인할 수 있고, 소유권은 ‘root root’으로 확인할 수 있다.
앞에있는 root는 사용자를 나타내고, 뒤에 있는 root는 그룹을 나타낸다. (리눅스에서는 기본적으로 사용자와 동일한 이름의 그룹을 만든다.)
- rwx r-x r-x
위 정보는 4부분으로 나눌 수 있다.
- - : 파일(-), 디렉토리(d)을 구분
- rwx : 사용자 권한
- r-x : 그룹 권한
- r-x : 다른 사용자 권한
rwx는 각각 읽기(read), 쓰기(write), 실행(execute) 권한을 나타낸다.
(디렉토리의 경우 실행권한이 있어야 디렉토리에 들어갈 수 있다.)
파일 권한 변경
개별적으로 파일 권한 변경하기
# 그룹에 쓰기 권한을 준다.
$ chmod g+w test.c
# 다른 사용자에게 읽기 권한을 빼앗는다.
$ chmod o-r test.c
# 사용자, 그룹, 다른사용자에게 모두 실행권한을 추가한다.
$ chmod +x test.c
# 사용자에게 실행권한을 부여한다.
$ chmod u+x test.c
# 그룹에 모든 권한을 준다.
$ chmod g+rwx test.c
# 그룹과 다른사용자에게 읽기 권한을 준다.
$ chmod go+r test.c
숫자로 한번에 권한 변경하기
숫자를 활용하여 사용자, 그룹, 다른 사용자의 권한을 한번에 지정할 수 있다.
r: 4 / w: 2 / x: 1
# 사용자, 그룹, 다른사용자의 모든 권한을 제거한다.
$ chmod 000 test.c
# 사용자, 그룹, 다른사용자의 모든 권한을 추가한다.
$ chmod 777 test.c
# 사용자에게만 모든 권한을 준다.
$ chmod 700 test.c
# 사용자에게는 모든 권한을 주고, 그룹/다른사용자에게는 읽기 권한만 준다.
$ chmod 744 test.c
'리눅스(Linux)' 카테고리의 다른 글
[Linux] 로그인쉘과 비로그인쉘 (1) | 2023.07.29 |
---|---|
[Linux] 리눅스 능력 (getcaps) (0) | 2023.07.29 |
[Linux] 리눅스 setuid, setgid (0) | 2023.07.28 |
우분투 네트워크간 접속, 포트포워딩 (0) | 2020.10.07 |
[리눅스] 사용자 및 그룹관리 & 파일 소유권 & 프로세스 & 패키지 관리 & 쉘스크립트 (0) | 2020.09.08 |