[ 소유권 허가권 문제 ]
실습환경 만들기.
우선 #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 |