Information Security

11-1 UMASK 본문

Linux

11-1 UMASK

leeeeye321 2017. 9. 23. 04:03

UMASK

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

 

파일 기본 허가권 : 666( rw- rw- rw- )

디렉터리 기본 허가권 : 777( rwx rwx rwx )

 

[디렉터리 및 파일의 허가권 결정 방법]

1. 디렉터리(777) 및 파일(666)의 기본 허가권을 비트화한다.

2. UMASK 값을 비트화한 후, 보수로 전환한다.

3. UMASK 보수 값과 파일 및 디렉터리의 기본 허가권을 AND 연산한다.

 

※AND 연산

 

문제1) 디렉터리 및 파일 허가권 계산 : UMASK 값이 022일 때

현재 로그인한 사용자에게 적용되어 있는 UMASK 값 확인 #umask

(0022 == 022)

 

[디렉터리 허가권 계산]

1. 디렉터리의 기본 허가권 비트화

777 -> 111 111 111

 

2. UMASK 값 비트화

022 -> 000 010 010

 

3. 보수로 전환(0 -> 1, 1 -> 0)

000 010 010 -> 111 101 101

 

4. UMASK 보수 값과 디렉터리의 기본 허가권을 AND 연산

111 101 101

AND

111 111 111

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

111 101 101

 

결정된 디렉터리 허가권

111 101 101 -> 755 ( rwx r-x r-x )

-UMASK 값이 022일 때 디렉터리는 755 권한으로 생성된다.

디렉터리 생성

 

UMASK_DIR의 허가권 : 755( rwx r-x r-x )

 

[파일 허가권 계산]

UMASK 보수 값과 파일의 기본허가권(666)을 AND 연산

111 101 101

AND

110 110 110

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

110 100 100

 

결정된 파일 허가권

110 100 100 -> 644 ( rw- r-- r--)

-UMASK 값이 022일 때 파일은 644 권한으로 생성된다.

파일 생성

 

 UMASK_FILE의 허가권 : 644( rw- r-- r-- )

 

문제2) 디렉터리 및 파일 허가권 계산 : UMASK 값이 077일 때

홈 디렉터리(계정 만들면 생성되는) 생성 시 허가권에 적용되는 UMASK 값 : 077

 

[디렉터리 허가권 계산]

디렉터리 기본 허가권 111 111 111

AND 연산

UMASK 값(000 111 111)의 보수 111 000 000

 

111 111 111

AND 

111 000 000

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

111 000 000

 

결정된 디렉터리 허가권

111 000 000 -> 700 ( rwx --- --- )

홈 디렉터리로 이동하여 허가권 확인 -> 700( rwx --- --- )

 

[파일 허가권 계산]

파일 기본 허가권 110 110 110

AND 연산

UMASK 값의 보수 111 000 000

 

110 110 110

AND

111 000 000

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

110 000 000

 

결정된 파일 허가권 -> 600 ( rw- --- --- )

#umask [허가권]

-UMASK 설정

 

파일 생성

 

파일 허가권 확인 -> 600( rw- --- --- )