본문 바로가기

리눅스-기본 개념

Linux 파일 시스템 권한

  Linux는 여러 사용자가 들어와 사용하는 멀티유저 시스템이다. 그렇기 때문에 원하지 않는 사용자가 서버에 올려진 중요 자료를 열람하거나 수정, 삭제를 할 우려가 생기게 된다. 이 문제를 해결하기 위한 기능이 permission(권한)이다. 파일을 최초로 만든 사용자가 파일의 소유권을 가진다.

1. 허가권(permission)

파일에 대한 소유자와 소유그룹, 기타 사용자의 권한을 지정한다.

 

[root@Linux ~]# ls -l
-rw-r--r--. 1 root root    0  4월 26 15:05 a1.txt

 

앞에서부터 세 개씩 끊어 각각 소유자(rw-), 소유그룹(r--), 게스트사용자(r--)를 의미한다.

 

권한 파일 디렉토리
r(read) 파일을 읽을 수 있다 디렉토리 내용을 표시 가능
w(write) 파일에 대한 쓰기 권한
* 단, 이름 변경이나 파일 삭제는 허용하지 않음.
(파일 삭제나 파일 이름 변경은 디렉토리 속성에 의해 결정됨)
디렉토리 내의 파일들을 생성, 삭제, 이름변경, 디렉토리 내 파일 이동이 가능
x(execute) 파일을 실행가능 디렉토리에 접근할 수 있는 가장 기본적인 권한

 

  • 권한이 없으면 -로 표현( ex.읽기 권한만 있을 경우 -> r - -)
  • 보편적으로 x권한만으로는 파일을 볼 수 없으니 r-x권한을 준다.
  • 디렉토리에 대한 x권한이 없다면 그 디렉토리에 들어갈 수 없다

 

2. 소유권(ownership)

  지정된 허가권에 해당하는 소유자와 소유그룹을 지정

 

[root@Linux ~]# ls -l
-rw-r--r--. 1 root root    0  4월 26 15:05 a1.txt

 

  앞에서부터 소유자와 소유그룹이며 게스트 사용자는 소유자와 소유그룹 외의 모든 사용자로 소유권에 표기되지 않는다. 

 

3. 권한 해석 예제

[root@Linux dir] # ls -la
total 20
drwxrwxr-x. 2 dbadmin1  webteam       68 Apr 27 10:11 .
dr-xr-x---. 8 dbadmin1  root        4096 Apr 27 10:19 ..
dr-xr-x---. 1 webadmin1 webadmin1      4 Apr 27 10:19 app1.log
-rw-r--rw-. 1 webadmin1 webteam        4 Apr 27 10:19 app2.log
-rw-rw-r--. 1 dbadmin1  webteam        4 Apr 27 10:19 db1.log
-rw-r-----. 1 dbadmin1  webteam        4 Apr 27 10:19 db2.log


[root@Linux dir] # tail -n 6 /etc/group
webadmin1:x:1003
webteam:x:1017:webadmin1, dbadmin1
dbadmin1:x:1004:
dbadmin2:x:1005:
dbteam:x:1018:dbadmin2,vmadmin
vmadmin:x:1016:

 

사용자
(그룹명)
권한 app1.log app2.log db1.log db2.log 디렉토리
(파일삭제)
webadmin1
(webteam)
읽기
수정
dbadmin1
(webteam)
읽기
수정
dbadmin2
(dbteam)
읽기
수정
vmadmin
(dbteam)
읽기
수정

 

-> 자신의 하위 파일에 대한 쓰기(w) 권한이 없어도 자기가 소유한 디렉토리에 대한 쓰기 권한이 있으면 파일의 내용수정은 할수없어도 파일 자체의 삭제는 가능하다. 

즉, A디렉토리에 대한 w권한이 있으면 A디렉토리의 하위 파일을 삭제를 할 수 있다.

 

'리눅스-기본 개념' 카테고리의 다른 글

프로세스 제어  (0) 2023.08.31
특수 권한  (0) 2023.08.31
systemd  (1) 2023.08.31
프로세스  (0) 2023.08.31
링크(link)  (2) 2023.08.31