Linux

Linux 소유권,허가권,UMASK

5_jinseok12 2018. 1. 26. 15:58
728x90

[ 소유권 허가권 문제 ]


실습환경 만들기.

우선 #mkdir /TEST-A로 디렉토리 파일을 만들고 아래와 같이 설정한다,

 

 

 

위와 같은 조건일 때 어떻게 입력해야 할까?

 

허가권이 rw- rw- r--

 rw- r-- ---    일 때  허가권을 알아보는 방법을 간단하게 설명한다.

 

허가권이란 필드 확인 명령어라고 한다.

허가권 필드는 3가지로 구성되어 있다.

사용자(User) ,그룹(Group), 기타 사용자(Other) 이며 의미를 알고 읽을 줄 알아야 한다

r : (읽기) 디렉토리가 가지고 있는 파일 목록을 읽을 수 있는 권한 

w : (쓰기) 파일을 삭제, 생성

x : 실행

- : (bar) 실행권한이 없음

 

 

위에 조건은 허가권이 rw- rw- r--   :664

rw- r-- ---    :640 이다.

 

그럼 #chmod 664 TEST-FILE1 과 #chmod 640 TEST-FILE2을 입력해보자.

 

 

TEST-FILE1 은 664

TEST-FILE2 은 640 임을 출력값을 통해 알 수 있다.

 

 

디렉토리

위에 설명한 것과 같다. 하지만 간혹 $cat /[디렉토리][파일]을 설정했을 때

 #chmod 777[파일] (rwx rwx rwx)처럼 모든권한을 주어도 확인이 불가능할 때가 있다.

왜그럴까

그럴땐 파일말고 디렉토리를 확인해야 한다

디렉토리가 (--- --- ---) 이면 파일을 읽을 수 없다 왜냐하면 디렉토리의 권한이 없기 때문이다

디렉토리가 파일보다 우선순위가 높기 때문에 디렉토리 권한부터 확인하고 파일을 확인해야 한다.

 

 

 

#mkdir /practice/1-TEST  : 디렉토리를 만든다.

#touch /practice/1-FILE   : 파일을 만든다.

#ls -l /practice : practice안에 있는 내용을 확인한다.

 

1-FILE 은 rw-   r- r--   (644)

1-TEST은 rwx   r-x   r-x   (755)임을 알 수 있다

 

 

UMASK

- 파일/디렉토리를 생성할 대 가지게 되는 기본 허가권을 결정하는데 기준이 되는 값.

 

#umask : 현재 로그인한 사용자의 UMASK값 확인

0022     : 현재 허가권은 4자리이나 기본적으로 3자리만 사용한다.

: 022 (8)

 

파일 기본 허가권 666      ->  rw-  rw-  rw-

디렉토리 기본 허가권 777 -> rwx  rwx  rwx 

 

파일
 UMASK 값(022)  -> 2진수 ->  000 010 010
 UMASK 2진수    -> 보수  ->  111 101 101   (2진수의 반대)
 파일의 기본 허가권 ->2진수->110 110 110  (파일 기본 허가권이 666이기 때문에)

 

AND 연산자를 이용하여 계산한다.

 


 111 101 101  AND A B
 110 110 110   0 0  -> 0
 -----------AND   0 1  -> 0
 110 100 100   1 0  -> 0
 -> 결정된 허가권  1 1  -> 1
 110 100 100 -> rw- r-- r--      이 값이 나오게 된다. 그러므로 위에 출력에서 파일값이 rw- r-- r--  나온것이다.

 

 

디렉토리 또한 마찬가지이다.

 

디렉토리의 기본 허가권 777
 UMASK 값(022)  -> 2진수 ->  000 010 010
 UMASK 2진수    -> 보수  ->  111 101 101
 파일의 기본 허가권 ->2진수->111 111 111

 111 101 101
 111 111 111
 ---------------AND
 111 101 101  -> 결정된 허가권 755 rwx r-x r-x  항상 755가 나오는이유는 UMASK 때문이다

 

 

 

ex) UMASK의 값이 077인 경우 생성된 디렉토리의 허가권

 

 

UMASK의 값 -> 2진수 000  111 111

-> 보수   111  000 000

기본허가권   -> 777    111  111 111

--------------------------------------------AND

  111  000 000  ->결정된 허가권 700  (rwx --- ---) 임을 알 수 있다.

 

 

 

 

 

 

/etc/shadow 파일의 2번째 필드의 내용 수정

쓰기권한(내용수정)이 없는 파일이다. 파일은 root 외에는 사용 불가.

 

x가 있어야 할 자리에 s가 들어가 있다. 이것은 SetUID 권한이 부여되어 있는 파일이다.

passwd명령어를 사용할 때는 root 권한으로 동작한다.

 

 

  -rwsr-xr-x. 1 root root 0 2018-09-02 13:14 SetUID1
  -rwSr-xr-x. 1 root root 0 2018-09-02 13:14 SetUID2

  4755 :기존에 x권한이 있는 파일이면 소문자s
  4655 :기존에 x권한이 없는 파일이면 대문자S

 

반응형

'Linux' 카테고리의 다른 글

Linux (ACL , sudo)  (0) 2018.01.30
Linux 권한(속성)  (0) 2018.01.29
Linux 소유권 허가권  (0) 2018.01.26
Linux 사용자 계정 관리2  (0) 2018.01.25
Linux 사용자 계정 관리  (0) 2018.01.25