레이블이 권한인 게시물을 표시합니다. 모든 게시물 표시
레이블이 권한인 게시물을 표시합니다. 모든 게시물 표시

14. OS설정:umask

안녕하세요, MJ 입니다.

umask 에 대한 설명과 설정 방법을 작성 합니다.


umask

: 파일이 생성 될 때 권한을 제거하는 명령어 입니다.

umask 가 무엇인지에 대해 질문을 받았을 때, 설명을 어떻게 해야 할 지 몰라 당황 했던 경험이 있지요?
권한을 제거 한다고 했는데, 어떤 권한이 어떻게 제거되는 것일까요?

파일의 권한은 비트로 설정되기 떄문에 이해를 돕기위해 그림을 그려보겠습니다.

[파일의권한]

 

 

 

 

 

그림을 보시면 권한이 4종류가 확인됩니다.
이 중, 일반적으로 특수 권한은 제외하고 이야기를 하게 되는데,
각 권한의 종류별로 끊어서 하나의 숫자로 표현 할 수 있습니다.

기본적으로 파일은 rw,rw,rw 권한이,
디렉토리는 rwx,rwx,rwx 권한이 부여가 되지만
이대로 사용하게 되면 누구나가 모든 파일/디렉토리에 대해
읽기/쓰기/실행 권한을 누릴 수 있게 되기때문에 보안상 치명적이지 않을 수 없습니다.

그림상에서 rwx 하나의 셋트에서 권한을 부여 할 수 있는 가지수는 8가지가 됩니다.
역시 그림으로 8가지 경우의 수를 나열 해 보면

[퍼미션 경우의수]

 

 

 

 

 

 

 

 

 

 

3개의 각 권한에 따라 비트를 부여하고, 켜지거나 꺼진 상태에 따라 3자리비트를 한자리 숫자로 하여 표현 할 수 있습니다.(8진수)

-> 기본으로 사용하면 위험한 파일과 디렉토리의 권한에서 박탈시킬 권한을 umask 명령으로 입력 해 주는 것입니다.

이미 리눅스에서는 umask 기본값이 설정 되어있어 위험한 상황은 일어나지 않겠지만
고객사에서 보안업체를 통한 권고사항에 따라 umask 로 설정 할 박탈권한 설정을 요청하게 됩니다.

[설정]
설정은 어디에 해도 상관없지만 일반적으로 /etc/profile 또는 /etc/bashrc 파일에 설정하게 됩니다.
umask 는 변수가 아니고 명령어 이므로 umask 022 와 같이 작성 하셔야 정상 동작 합니다.
umask=0022 와 같이 설정하면 로그인할때마다 오류가 발생합니다.

[글로 예시를 대략 작성 해 봅니다] OS 설치 후 umask 명령어를 바로 수행 해 보면 "0022" 가 출력됩니다.
왼쪽부터 특수,유저,그룹,아더 로 박탈할 권한이 표시 된 것입니다.

파일 생성 시 기본권한 0666 에서 0022 를 지워보면, 0644 가 됩니다.
umask 0022 설정된 시스템에서 파일을 만들면 기본 파일의 퍼미션이 644 가 된다는 의미 입니다.

디렉토리는 기본권한이 0777 이므로 0022 를 지우면 0755 가 됩니다.

특수권한은 자주 설정하는 내용이 아니기도 하고, 0으로 시작하는 숫자가 읽기 어색하여 644, 755 라고 표현하는데, 644는 rw,r,r 권한을, 755는 rwx,rx,rx 권한을 의미하게 됩니다.

이제 umask 가 뭐에요? 라고 질문을 받게 된다면, 잘 답할 수 있겠죠?


문의사항은 댓글을 달아 주시면 성심껏 답변 드리겠습니다.

감사합니다.

11. 파일의 퍼미션(권한)

안녕하세요, MJ 입니다.

리눅스의 모든것은 파일로 관리된다는 말을 들어보셨나요? 

리눅스에는 파일의 종류가 다양하게 존재합니다.

파일의 종류는
- 일반파일(우리가 알고있는 파일)
c 키보드,마우스와 같은 입력장치는 캐릭터 파일
d 디렉토리는 디렉토리파일
s 소켓(통신을 위한)파일
d 장치파일
등...

모든 것이 파일 로 관리가 됩니다. 이러한 파일의 종류에 대해 다루고자 하는것은 아니지만 항상 인지하고 있어야 하는 내용 입니다.

우리가 알고있는 일반 파일 또는 디렉토리(디렉토리파일)에는
퍼미션(권한)과 소유자와 소유그룹이 함께 필수로 설정이 되어야 하는데

tuuugggooo    user    group   [size] [date] FileName

대략 이러한 형태로 확인이 됩니다.(ls -l 명령어 결과 확인)

 

 

 

 

t 표시한 첫 글자는 이 파일의 타입을 의미

 - 빼기(-) 로 표시된 일반 파일
- d 로 표시된 파일이 디렉토리 입니다.

이후 아홉개의 문자가 있는데요.

uuu 는 이 파일의 소유자가 가진 권한 입니다.(owner)
ggg 는 이파일의 소유그룹이 가진 권한입니다.(group)
ooo 는 소유자도 소유 그룹도 아닌 유저에게 부여되는 권한입니다.(other)

이 3자리의 권한은 각각 rwx (r: 읽기 w: 쓰기 x: 실행 ) 순서대로 권한의 종류를 나타내고,
가지고 있는 권한들을 더해서 (r=4, w=2, x=1) 하나의 숫자로 표현 합니다.

각 소유자, 그룹, 아더로 적절한 권한이 왜 필요한지, 보안 측면에서 고민이 필요하게 되는 내용입니다.

문의사항은 댓글로 남겨주시면 성심껏 답변 드리도록 하겠습니다.

감사합니다.

내 리눅스 서버, 대체 뭐가 문제야?

내 리눅스 서버, 대체 뭐가 문제야? 안녕하세요. 오늘은 리눅스 서버가 버벅거릴 때, 원인을 파악하는 방법에 대해 알아보려고 해요. 서버의 성능 저하 원인을 찾는 것은 시스템 관리에서 매우 중요한 부분이에요. CPU, 메모리 사용량부터 수상한 프로...

가장 많이 본 글