반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Tags
more
Archives
Today
Total
관리 메뉴

hann-blume

Linux - Umask 본문

Linux

Linux - Umask

hann-blume 2020. 2. 25. 16:52

 

 

 

리눅스 시스템에는 umask라는 것이 있다.

 

umask가 무엇인지 알기전에 확인을 먼저 해보자

 

# umask

umask라는 명령어를 입력하면

뜬금없이 0022라는 숫자가 나타난다

 

 

그럼 이번에는

# nl /etc/bashrc

라는 명령을 입력해보자.

여기서 nl은 number line으로

문서를 열때 줄 숫자를 보여주어서 몇번째 줄인지

쉽게 볼 수 있게 해준다.

 

중간 부분 66번째 줄과 68번째 줄을 보자.

66번째 줄 = umask 002

68번째 줄 = umask 022

 

결론부터 말하자면 이 umask값은 이용자에 따라

디렉터리나 파일을 만들 때 허가권을 생성해주는 값이다.

66번째 줄의 002는 일반사용자가 만들 때의 허가권을 생성해주고,

68번째 줄의 022는 관리자가 만들 때의 허가권을 생성해준다.

 

그렇다면 이 umask값들이 어떤 원리로 허가권을 생성해주는지 알아보자.

 

 

만약 관리자가 어떤 디렉터리를 만들었다고 가정하자.

그렇다면 그 디렉터리는 당연히 관리자의 소유일 것이다.

 

그 때 해당 디렉터리의 퍼미션(허가권)값은

최대권한인 777 - 관리자umask 값으로 정해진다.

즉, 관리자의 umask값이 022이면

777 - 022= 755 이다.

 

관리자가 만든 디렉터리이기 때문에 OWNER에만 7 권한을 주고

GROUP과 OTHER에게는 umask값을 뺀 권한만을 주는 것이다.

(여기선 022이기 때문에 각각 5의 권한)

 

 

그럼 반대로 관리자가 아닌 이용자가 디렉터리를 만들었다고 가정하자.

이번에는

최대권한 777 - 일반사용자umask 값으로 정해진다.

즉, 일반사용자의 umask값이 002이면

777-002 = 775 이다.

 

관리자가 아닌 일반사용자가 만든 디렉터리이기 때문에 GROUP에 좀더 높은 권한을 준다.

 

 

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

 

지금까지는 디렉터리에 대한 예를 들었다.

이제 파일을 생성할 때를 살펴보자

원리는 같다. 하지만 디렉터리는

최대권한 777 - umask 였지만

파일은 666-umask 의 공식을 가진다.

 

이유는 파일은 기본적으로 문서파일로 취급되기 때문에 rwx중 x가 필요없다.

x권한은 실행권한인데 문서파일은 실행시키는 것이 아니고 r권한으로 읽는 것이다.

즉, 시스템적으로 자동으로 x권한을 취급안하기 때문에 rw-가 되어

rw-rw-rw-

최고 권한이 666이 된다.

그 다음 부터는 같다.

 

 

마찬가지로 관리자가 파일을 만들었다고 가정하자.

관리자의 umask 값은 022이므로

해당 파일은 

666-022 = 644의 값으로 만들어진다.

 

 

이번엔 일반사용자가 파일을 만들경우

일반사용자의 umask값은 002이므로

해당 파일은

666-002 = 664의 값으로 만들어진다.

 

 

그렇다면 이 umask값을 변경할 수는 없을까?

당연히 가능하다.

 

vi편집기를 이용하자.

 

# vi /etc/bashrc 

 

 

EX모드로 진입하기위해 키보드의 ' : '를 누르고

70을 입력하고 엔터를 눌러보자.

그러면 umask가 명시된 부분이 보일 것이다.

 

(여기서 숫자를 입력할때 절대 키보드 우측의 숫자패드를

이용하면 안된다. 우측의 숫자패드를 이용할 경우 EX모드가 아닌

입력모드로 진입한다. 따라서 문자자판 위의 숫자키를 이용한다.)

 

이제 umask값을  i,a,o 등의 키를 눌러 입력모드로 진입후

원하는 값으로 바꿔주자.

 

바꿨으면 다시 EX모드로 진입후 :wq 명령으로 저장하고 빠져나온다.

그리고 파일이나 디렉터리를 만들고 ls -al로 리스트를 뽑고

권한 부분을 보면된다.

 

 

참고로 umask 값은 기본으로

관리자 = 022

일반사용자 = 002

로 되어있다. 사실 이 umask값은 건드릴 필요가 없기도하다.

기본 umask값이 가장 좋을 뿐더러

필요한 경우 umask값을 변경하는 것이 아닌

chmod 명령으로 허가권을 변경해주면 되기 때문이다.

 

 

 

여기까지 umask에 대한 설명이 끝났다.

반응형

'Linux' 카테고리의 다른 글

Linux - Partition  (0) 2020.02.25
Linux - RPM(Redhat Package Management)  (0) 2020.02.25
Linux - 특수권한 (SetUID, SetGID, StickyBit)  (0) 2020.02.25
Linux - 데이터 압축 유틸리티  (0) 2020.02.23
Linux - 계정 복구  (0) 2020.02.23