본문 바로가기

Linux

퍼미션 관리

퍼미션 관리하기

퍼미션 권한 영역 및퍼미션 관리하기

허가권
- 파일과 디렉토리에 대한 허가권으로 파일 소유자(User), 그룹(Group), 타인(Other)으로 이루어져 있다.
- 구성

 구분  File  Directory
 읽기 r (Read)
 파일의 내용을 볼 수 있다. (cat, vi 등)
 디렉토리의 내용을 볼 수 있다. (ls 등)
 쓰기 w (Write)
 파일의 내용을 수정할 수 있다. (vi 등)
 파일 또는 디렉토리를 추가 및 삭제 가능 (mkdir, rm 등)
 실행 x (eXcute)
 실행 파일을 실행 시킬 수 있다.
 디렉토리 안으로 들어갈 수 있다. (cd 등)

퍼미션 권한 영역

디렉토리의 권한에서 Group 권한이 r-x, Other 권한이 r-x인 경우
                   
#디렉토리 0 ----> 디렉토리 0의 소유권을 가진 퍼미션의 영역은 파일 및 디렉토리 1에 대해서만 있음
  - 파밀 및 디렉토리 1               
     - 파일 2 ---> 디렉토리 0은 파일 2에 대한 권한이 없다.

파일 권한은 읽고, 쓰고 , 실행하는 권한 밖에 없고 파일 삭제 권한은 디렉토리 권한에 따라 가능하다.
하지만 그 단계는 한단계까지만 가능하다.
예를 들면 삭제하려는 디렉토리 안에 또 다른 디렉토리나 파일이 있으면 삭제가 불가능하다.

디렉토리의 권한에서 Group 권한이 rwx 또는 Other 권한이 rwx인 경우
#디렉토리 0 ----> 디렉토리 0의 소유권의 영역은 파일 2까지 적용된다.
  - 파밀 및 디렉토리 1               
    - 파일 2 ---> 디렉토리 0은 파일 2에 대한 권한이 없어도 같이 삭제가 가능하다.

예)
#ls -l test.txt
-rw-r--r-- 1 root root        25 11월  5 16:57 test.txt
-> root 사용자는 읽고 쓰기가 가능 && 다른 사용자들은 읽기만 가능

#ls -ld /root
drwxr-x--- 24 root root 4096 11월 12 08:28 /root
-> root 사용자는 리스트 내용이 확인 가능 (ls 등)하고 파일과 폴더를 생성가능(mkdir, rm 등)하며 들어갈수 있는 권한(cd 등)이 있다.

------------------------------------------------------------------------------------------------------------------------

퍼미션 관리 - 상대모드
- 문자열을 이용한 퍼미션 변경모드
 Access class
 Operator  Access Type
 u : User 의 퍼미션
 g : Group 의 퍼미션
 o : Other 의 퍼미션
 a : User + Group  + Other
 + : 퍼미션 추가
 - : 퍼미션 삭제
 = : 퍼미션을 일치시킴
 r : 읽기 퍼미션
 w : 쓰기 퍼미션
 x : 실행퍼미션 (디렉토리는 탐색 퍼미션)
 s : SUID, SGID
 t : Sticky bit


예)
#chmod u+r,g+w,o+x test.txt

#chmod u+s test.txt
- SUID 를 추가

#chmod o+t test
- Sticky bit 를 추가

퍼미션 관리 - 절대모드
- 8진수 체계를 이용한 퍼미션 변경모드

// 기본값 r = 4, w = 2, x = 1
           r  w   x
User    400 200 100
Group    40  20  10
Other     4   2    1

예) rwx r-x r-- => (400+200+100) + (40+0+10) + (4+0+0) = 754

------------------------------------------------------------------------------------------------------------------------

퍼미션 관련 명령어

chmod
- 파일이나 디렉토리의 퍼미션(허가권)을 변경하거나 지정

예) #chmod [8진수/문자] file/directory

chown
- 파일과 디렉토리의 소유자와 그룹을 변경하거나 지정

예) #chown [option] user.group file/directory
- -R : 서브 디렉토리 및 파일까지 변경

예) #chown root.test1 test.txt

umask
- 파일을 생성할 때 현재 사용되고 있는 권한값의 마스크가 무엇인지를 알려주거나 그것을 새로 지정
- 기본값 폴더 (777 : 퍼미션 rwx) 파일 (666 : 퍼미션 rw-)
   umask (UID 1-99 = 0022, UID 100 - = 0002)

예) #umask 0022
- umask 값을 0022로 변경한다.

UID (Set User ID)
- 프로그램이 실행되는 동안 프로세스는 파일의 소유자와 같은 권한으로 실행 User의 실행 퍼미션이 x가 아닌 s로 표기된다.

# ls -l /etc/passwd
-rw-r--r-- 1 root root 2242 11월 12 09:30 /etc/passwd

# ls -l /etc/shadow
-r-------- 1 root root 1518 11월 12 09:26 /etc/shadow

# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /etc/passwd.OLD /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz

# ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 22984  1월  7  2007 /usr/bin/passwd

------------------------------------------------------------------------------------------------------------------------
 
Sticky bit

# mkdir /share
# chmod 777 /share
# ls -ld /share/
drwxrwxrwx 2 root root 4096 11월 12 13:18 /share/
# chmod 1777 /share
# ls -ld /share/
drwxrwxrwt 2 root root 4096 11월 12 13:19 /share/
 
[test1]
$ cd /share
$ vi test1.txt
$ ls -l
합계 4
-rw-rw-r-- 1 test1 test1 18 11월 12 13:19 test1.txt

[test2]
$ cd /share
$ vi test2.txt
$ ls -l
합계 8
-rw-rw-r-- 1 test1 test1 18 11월 12 13:19 test1.txt
-rw-rw-r-- 1 test2 test2 12 11월 12 13:22 test2.txt
$ rm -rf test1.txt
rm: cannot remove `test1.txt': 명령이 허용되지 않음

디렉토리의 권한에서 Group 권한이 r-x, Other 권한이 r-x인 경우
                   
#디렉토리 0 ----> 디렉토리 0의 소유권을 가진 퍼미션의 영역은 파일 및 디렉토리 1에 대해서만 있음
  - 파밀 및 디렉토리 1               
     - 파일 2 ---> 디렉토리 0은 파일 2에 대한 권한이 없다.

파일 권한은 읽고, 쓰고 , 실행하는 권한 밖에 없고 파일 삭제 권한은 디렉토리 권한에 따라 가능하다.
하지만 그 단계는 한단계까지만 가능하다.
예를 들면 삭제하려는 디렉토리 안에 또 다른 디렉토리나 파일이 있으면 삭제가 불가능하다.

디렉토리의 권한에서 Group 권한이 rwx 또는 Other 권한이 rwx인 경우
#디렉토리 0 ----> 디렉토리 0의 소유권의 영역은 파일 2까지 적용된다.
  - 파밀 및 디렉토리 1               
    - 파일 2 ---> 디렉토리 0은 파일 2에 대한 권한이 없어도 같이 삭제가 가능하다.

예)
#ls -l test.txt
-rw-r--r-- 1 root root        25 11월  5 16:57 test.txt
-> root 사용자는 읽고 쓰기가 가능 && 다른 사용자들은 읽기만 가능

#ls -ld /root
drwxr-x--- 24 root root 4096 11월 12 08:28 /root
-> root 사용자는 리스트 내용이 확인 가능 (ls 등)하고 파일과 폴더를 생성가능(mkdir, rm 등)하며 들어갈수 있는 권한(cd 등)이 있다.

'Linux' 카테고리의 다른 글

YUM  (0) 2008.11.14
RPM 설치 및 삭제  (0) 2008.11.14
ntsysv - 서비스 데몬  (0) 2008.11.14
부팅순서  (0) 2008.11.12
트러블 슈팅 1 - 싱글유저모드  (0) 2008.11.11
LVM (Logical Volume Manager)  (0) 2008.11.10