레이블이 OS설정인 게시물을 표시합니다. 모든 게시물 표시
레이블이 OS설정인 게시물을 표시합니다. 모든 게시물 표시

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 가 뭐에요? 라고 질문을 받게 된다면, 잘 답할 수 있겠죠?


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

감사합니다.

9. NTP

 

안녕하세요, MJ 입니다.

 

이번시간에는 시간 동기화를 설명을 합니다.

 

우리는 OS 를 설치 하고, 시간에 대해 체크를 해야 할 필요가 있습니다.

이것은 타임존과는 별도로 확인이 필요한 내용으로 시스템에서 사용 할 시계가

어느 나라인지를 확인하는 내용이 아니라,

 

현재의 시각과 시스템에서 확인되는 현재의 시각을 비교하는것을 말합니다.

 

내 핸드폰 시계를 보고, 시스템에서 확인되는 시각과의 차이를 확인하는 것인데

이때, 시간이 차이가 많이 나게 되면 시계를 맞추어 주어야 합니다.

 

  • 호스트컴퓨터(윈도우)와 VM간에도 시간이 35초가량 차이가 나는것이 확인됩니다.

 

이렇게 시간이 차이가 나면 일단 이렇게 수동으로 시간을 맞추어 볼 수 있습니다.



 

 

 

 

 

 

 

 

    - 설정할 시간을 입력하고 그 시간이 될때까지 기다렸다가 엔터를 침.

 

 

 

이렇게 시계를 맞추면 비슷한 시간을 맞출 수 있지만 정확하게 일치하는 시간을 만들 수는 없습니다.

 

 

 

그리고, 시간이 흐름에 따라 시각이 계속해서 정확한 시간을 유지할 수 없다는것을 경험에 의해 알고있습니다.

([시계A] 와 [시계B] 의 1초가 달라, 몇일 뒤, 몇주 뒤,,, 시간이 지난 뒤에 확인하였을 때에 몇초든 분이든 틀어짐을 경험해봄)


컴퓨터에는 시각을 계산하기위한 크리스탈이 존재하고, 우리가 알고있는 1초에 가까운 시간을

컴퓨터에서도 1초로 확인할 수 있도록 노력하지만, [시계A] 와 [시계B] 처럼 정확한 1초를 만들기란 불가능에 가깝습니다. 이것이 시간 동기화의 목적이 되겠습니다.


시간을 동기화 하기위해서는 시간동기화를 위한 프로토콜이 필요하게 되고(온전히 시간 동기화만을 목적으로 한 프로토콜) 그 프로토콜의 이름이 NTP 입니다 (Network Time Protocol)

 

 우리의 VM은 현재 시스템에 설정 된 시간이 올바른 시간인지 확인이 필요하고, 올바르지 않다면 올바른 시간으로의 보정이 필요하게 됩니다. 우리의 VM은 올바른 시계로부터 시간을 받아와 보정해야하기때문에 클라이언트가 되고, 올바른 시간을 유지하면서 시간을 알려주는 어딘가가 서버가 될 것입니다.

 

이렇게 NTP 설정을 하기위해서는 패키지가 필요한데 과거에는 ntpd 라는 서비스를 이용하여 시간을 동기화 하였지만, 최근에는 chronyd 라는서비스를 이용하여 시간을 동기화 합니다.


chronyd 서비스를 사용하기위해서는 시스템에 chrony 라는 패키지가 설치 되어야 합니다.


 

패키지를 설치하려고 확인했는데 이미 설치가 되어있습니다.


 

 

그렇다면 패키지 설치는 skip 하고, 설정을 확인하겠습니다.

 설정파일은 /etc/chrony.conf 이고, 내용 중에 주석이 많이있어,설정 된 내용만 빨간줄을 쳐 보았습니다.

 

 

 

 설정 방법

     1. pool 로 시작되는 설정을 주석처리 또는 삭제하고, 맨 아래에 한줄을 추가: server time.bora.net

 



 

     2. /etc/chrony.conf 설정을 다시 로드할 수 있도록 chronyd 서비스를 다시 구동


    3. NTP 서버의 IP 가 잘 등록되어 시간동기화를 하고 있는지 확인



- chronyc sources 명령어 결과에서

time.bora.net 주소가 확인됩니다. 이 주소는 /etc/chrony.conf 의 맨 아래줄에 추가 한 내용으로,

설정파일의 내용이 잘 로드 되었음을 확인할 수 있습니다.

 

- chronyc -n sources 명령어 결과에서는

time.bora.net 이름주소의 IP 로 확인이됩니다. Lookup 이 잘 되고 있고, 연동 해야 할 time.bora.net 의

IP 를 확인 할 수 있습니다.

 

 

설정파일도 잘 로드 하였고, Lookup 도 잘 되었지만 그렇지만 동기화가 안되고있습니다.

동기화가 잘 되고있다면 NTP 서버의 IP 또는 네임주소 왼쪽에 * 문자가 확인됩니다. (현재는 물음표 ?)
 

* 문자가 확인되고나면 현재의 시계가 올바른 시계로부터 시간을 보정받아 정확한 시간을 확인할 수 있게 됩니다.



NTP 동기화는 은행, 증권사 등 시간이 중요한 서비스를 제공하는 고객사에게는 굉장히 중요합니다.

이제는 더 이상 없을것이 예상되지만 윤초에 대비하여 패치를 진행했던적이 꽤 있었습니다.

 

시간 동기화와 관련하여 여러가지 옵션과, 용도에 대해서도 이야기 하고싶지만 내용이 너무 길어질것같아 줄입니다. 간략하게 NTP 설정과 확인방법에 대해 이야기 드려보았는데 필요성을 느끼실 수 있었다면


저는 목적을 달성한것같습니다.


 추가 문의사항은 댓글을 달아주시면 답변 드리도록 하겠습니다.

 

감사합니다.

 

 

 

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

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

가장 많이 본 글