MONG 기술블로그

Linux 기본 세팅 ( 계정 , TimeZone , NTP , Selinux ) 본문

AWS/EC2

Linux 기본 세팅 ( 계정 , TimeZone , NTP , Selinux )

MJHmong 2022. 2. 12. 12:29

Linux 서버 생성 후 공통적으로 설정해야할 설정값에 대해 정리해보자.

 

보통 아래 4개는 운영 업무를 위해 공통적으로 수행하는 기본적인 세팅이며, OS 버전은 Amazon Linux 2이다.

 

1. 계정 생성 및 설정

2. TimeZone 설정

3. NTP 설정

4. SELinux - 비활성화

 

 

계정 설정 ( 공통으로 사용할 어드민 그룹 생성 , 유저 생성 , 비밀번호 초기화  )

# root 권한으로 실행
# group 추가 - gid 지정 ( 5000 )
groupadd -g 5000 administrator


# user 추가 - comment(-c) , uid(-u) , gid(-g), sup-group(-G), make home if dont exist(-m), home_dir(-d) , shell(-s)
useradd admin-user -c "admin account" -u 5002 -g 5000 -G wheel -m -d /home/admin-user -s /bin/bash


# password 초기화 
# 방법1 - chpassword - userid:password
echo 'admin-user:temp123$' | chpasswd

# 방법 2 - passwd - echo "password" | passwd --stdin userid
echo 'temp123$' | passwd --stdin admin-user

 

 

TimeZone 설정

# 현재 설정값 확인 -> timedatectl

root@XXX-XXX-XXX-XXX admin-user]# timedatectl
      Local time: Sat 2022-02-12 04:12:35 UTC
  Universal time: Sat 2022-02-12 04:12:35 UTC
        RTC time: Sat 2022-02-12 04:12:35
       Time zone: UTC (UTC, +0000)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

# 현재 설정된 시간이 UTC ( KST, +0900 ) 임을 확인할 수 있다.

# Timezone 설정 -> /etc/localtime의 soft 링크 정보 ( /usr/share/zoneinfo 하위 값 )
# Timezone 목록 -> /usr/share/zoneinfo

[root@ip-10-31-0-167 zoneinfo]# ls -l /etc/localtime
lrwxrwxrwx 1 root root 23 Feb 12 04:12 /etc/localtime -> /usr/share/zoneinfo/UTC

# /etc/localtime soft 링크 삭제
[root@XXX-XXX-XXX-XXX zoneinfo]# rm -f /etc/localtime

# /etc/share/zoneinfo 에서 원하는 Timezone을 찾아서 /etc/localtime 으로 soft 링크 생성
[root@XXX-XXX-XXX-XXX zoneinfo]# ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime

# /etc/localtime 소프트 링크 확인 -> Asia/Seoul
[root@XXX-XXX-XXX-XXX zoneinfo]# ls -l /etc/localtime
lrwxrwxrwx 1 root root 30 Feb 12 13:17 /etc/localtime -> /usr/share/zoneinfo/Asia/Seoul

# 변경된 TimeZone 확인
[root@ip-10-31-0-167 zoneinfo]# timedatectl
      Local time: Sat 2022-02-12 13:17:48 KST
  Universal time: Sat 2022-02-12 04:17:48 UTC
        RTC time: Sat 2022-02-12 04:17:49
       Time zone: Asia/Seoul (KST, +0900)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

 

 

NTP 설정 ( chrony 사용 )

# 설정 파일 -> /etc/chrony.conf

# 중요 옵션 2가지만 확인하자.
# 시간 동기화에 사용되는 NTP 서버 설정.
server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4

# leapsecmode slew -> 윤초 설정 ( 시간이 어긋났을때 바로 조정하지 않고 천천히 조정하는 옵션 )
leapsecmode slew

설정 변경 후 재기동 :  systemctl restart chronyd

동기화 상태 확인 : chronyc sources -v

 

동기화 상태 확인

위 그림과같이 server 로 설정한 NTP서버에 대해 ^* 가 표기되는지 꼭 확인하자.

 

 

 SELinux ( 비활성화 )

Security-Enhanced Linux(Selinux) 보안적으로 강화된 리눅스이며 설명은 다음 위키를 참고하자.. SELinux 나무위키

보안적으로 강화된 만큼 사용하기도 매우 복잡하여 저의 경우 SELinux 를 비활성화하여 사용한다.

 

상태 확인 : sestatus

영구 설정을 위한 config 파일 : /etc/selinux/config

/etc/selinux/config

SELINUX=disabled 설정 후 reboot하여 값을 영구적으로 변경하자. ( 영구 변경 )

 

궁금한 점은 댓글로 남겨주시면 최대한 빠르게 답변드리겠습니다. 많은 도움이 되었으면 좋겠어요.

 

긴 글 읽어주셔서 감사합니다.

'AWS > EC2' 카테고리의 다른 글

프로세스 모니터링 ( ps , top, lsof )  (0) 2022.03.27
AWS EC2 콘솔에서 SSH 접속하기 (System Manager)  (0) 2022.02.13
Comments