본문 바로가기
OS/Linux

리눅스 기초 30강 시리즈 - 21강 권한의 이해

by HJ0216 2023. 2. 4.

이 글은 양주종의 코딩스쿨 리눅스(Linux) 기초 강좌 30강 모음 수강하며 정리한 글입니다.

 

21강 권한의 이해

(일반 사용자 id: j, pw: j)

(관리자 id: root, pw: r)

 

 

⭐ r: read, 4

⭐ w: write(create, remove, modify), 2

⭐ e: execute,1 

 

dir 목록 조회

[j@hj0216 ~]$ ll /usr/bin/cal
-rwxr-xr-x. 1 root root 37736 10월 31  2018 /usr/bin/cal

-rwxr-xr-x.

 -: file

 rwx: 소유주 권한

 r-x: 소유그룹 권한

 r-x: 타인(others) 권한

1: 하드링크 수

root: 소유주

root: 소유 그룹

37763: file size

10월 31 2018: 변경 시간

 

chmod: chagne mode, 권한 변경

[j@hj0216 ~]$ chmod 644 /usr/bin/cal
chmod: changing permissions of `/usr/bin/cal': 명령을 허용하지 않음

644: 소유주(rw-), 소유그룹(r--), 그 외(r--)

* 일반 사용자 계정에서는 권한 변경 불가

[root@hj0216 ~]# ll /usr/bin/cal
-rwxr-xr-x. 1 root root 37736 10월 31  2018 /usr/bin/cal
[root@hj0216 ~]# chmod 644 /usr/bin/cal
[root@hj0216 ~]# ll /usr/bin/cal
-rw-r--r--. 1 root root 37736 10월 31  2018 /usr/bin/cal

-> root 계정에서는 권한 변경 가능

[root@hj0216 ~]# cal
-bash: /usr/bin/cal: 허가 거부
[j@hj0216 ~]$ cal
-bash: /usr/bin/cal: 허가 거부

권한 변경 후, root 및 일반 사용자 계정 cal 명령어 실행 허가 거부

 

실행 권한 재변경

[root@hj0216 ~]# chmod 744 /usr/bin/cal
[root@hj0216 ~]# cal
      2월 2023
일 월 화 수 목 금 토
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28
[j@hj0216 ~]$ cal
-bash: /usr/bin/cal: 허가 거부

744: 소유주(rwx), 소유그룹(r--), 그 외(r--)

권한 재변경 후, root 계정 cal 명령어 실행 가능 / 일반 사용자 계정 cal 명령어 실행 허가 거부

 

* 권한 변경을 위한 file path 확인

[j@hj0216 ~]$ which date
/usr/bin/date

[j@hj0216 ~]$ whereis cal
cal: /usr/bin/cal /usr/share/man/man1/cal.1.gz

 

읽기 권한 변경

1. 일반 사용자 /etc/bashrc 읽기 가능

[j@hj0216 ~]$ cat /etc/bashrc
# /etc/bashrc

# System wide functions and aliases
...

2. root 계정에서 일반 사용자의 읽기 권한 제거

[root@hj0216 ~]# ll /etc/bashrc
-rw-r--r--. 1 root root 2853  1월 15 22:57 /etc/bashrc
[root@hj0216 ~]# chmod 700 /etc/bashrc
[root@hj0216 ~]# ll /etc/bashrc
-rwx------. 1 root root 2853  1월 15 22:57 /etc/bashrc

3. 일반 사용자 /etc/bashrc 읽기 허가 거부

[j@hj0216 ~]$ cat /etc/bashrc
cat: /etc/bashrc: 허가 거부

일반 사용자 /etc/bashrc 읽기 전용, 수정 불가

[j@hj0216 ~]$ vi /etc/bashrc
"/etc/bashrc" [읽기 전용] 92L, 2853C