보안/시스템보안

[시스템 보안] 권한 관리 / umask / 644(짝수) / 633(홀수, 특히 파일경우는 실행권한이 주어저 있지 않음)

antoroong 2025. 2. 4. 00:24

디렉터리는 777 (최대 권한 값) rwxrwxrwx

파일은 666 (최대 권한 값) rw-rw-rw

 


 

umask 디폴트 값은 0022이다

현재 home에서 umask 값은 0022로 되어 있다 (디폴트 리눅스 umask 값)

 

 

아무 설정도 안한 권한 확인

 

아직까지는 계정 관련 파일 이기 때문에 권한이 700으로 되어있다 이유는

이따가 설명하겠다

 


umask 0044 설정해보기

cd /home 디렉터리에서

그냥 korea7이라는 디렉터리를 생성해본다

 

현재 위에서 확인했듯이 umask가 0022로 되어 있기에

 

777-022 = 755설정으로 생성되는 것이다

 

korea7.txt 라는 파일을 생성한다 파일 최대값은 666이기 대문에

666-022 = 644로 설정되어 생성된다

 

 

  • 이제 정말 0044로 설정을 해볼 것이다

korea8 이라는 디렉터리와 / korea8.txt 파일 생성

이번에

디렉터리는 777-044 = 733

파일은 666-044 = 622

 

위의 값으로으로 생성되었다

 

 

 


umask 0033설정해보기

 

0033으로 세팅 한후

korea9 디렉터리 / korea9.txt 생성한다

 

korea9 디렉터리 는 777-033 = 744로 생성되었고

korea.txt 파일은 666-033 = 633으로 생성이 되야하는데… 644로 생성이 되었다

→ 그 이유는 파일은 원래 x(1, 실행권한)이 없기에 홀수로 생성될 수 없어서 644로 생성 된 것이다

 

 


일단 다시 다 삭제하기 (다른 테스트를 위하여 청소)

모든 txt파일 제거

 

 

korea 7, korea8, korea9 모두 제거

 

umask로 다시 0022로 돌리어 놓고, (참고로 umask는 어떻게 설정을 해도, 로그아웃이나 재부팅이 이루어지면 다시 기본값인 0022로 돌아온다)

 


계정디렉터리는 권한이 처음부터 700인 이유

 

korea4 디렉터리 / korea4.txt 파일 생성

근데 이상한 점이 있다. korea1,2,3과 korea4는 권한값이 매우 다르다

그 이유는 korea1,2,3 경우, 계정생성에 관한 디렉터리인데

생성할때 umask가 지정이 이미 되어 있는 것이다 .

 

 

계정생성시 umask 지정 값에 관련된 파일은

아래 위치로가서 login.defs 파일 연다

 

아래 확인해보면 umask가 077인 것을 확인 그래서 777-077=700으로 생성이 되는것이다

 

 


디렉터리와 파일 umask가 기본이 022인 이유, 아무리 변경해도 재부팅하면 022로 돌아오는 이유

 

bashrc는 리눅스가 재부팅이 되어도 설정을 이대로 유지하라는내용을 담은 파일이다

 

이곳에 022로 돌아오라는 내용이 기재되어 있어서 그렇다

 


기존 korea1,2,3 계정들도 지금 너무 꼬여있어서 삭제 후 다시 생성할 것이다

 

현재 그룹권한이든 엉켜있는 나의 계정들..

 

userdel -r 이걸로도 삭제가 너무 힘들다

 

계정 관련 파일들을 수정하여 직접 삭제해 나간다

일단 passwd 파일 수정열고 계정 지움

 

그리고 shadow 파일

 

그리고 group 파일

 

/home 디렉터리와서 직접 계정 폴더 삭제

 

/var/mail 와서 직접 계정 폴더 삭제

 

그리고 다시 korea1 , korea2 , korea3 계정들 생성