CentOS 초기 설정
포스트
취소

CentOS 초기 설정

centos/linux

운영체제 설치 후 필수 설정


1. CentOS 시스템 정보 확인

시스템 정보 확인

1
uname -a

OS 버전 확인

1
cat /etc/redhat-release

2. Profile 설정

사용자의 History에 날짜와 시간을 표시하도록 설정합니다.

1
sed -i "/HISTSIZE=1000/a\HISTTIMEFORMAT='%F %T ---'" /etc/profile

3. 시스템 시간 설정

1
2
rm /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime

시스템 시간 확인 (KST임을 확인)

1
2
3
date

  2022. 05. 03. () 23:09:25 KST

4. Hostname 변경

CentOS 6

1
2
vim /etc/sysconfig/network
  HOSTNAME=호스트명

CentOS 7

1
2
hostnamectl set-hostname 호스트명 --static
cat /etc/hostname

5. SELinux 해제

SELinux(Security Enhanced Linux)는 리눅스의 보안을 강화시켜주는 보안 커널이지만 강력한 보안 정책 때문에 실 서비스에 장애를 주는 현상이 많으므로 적절히 수정하거나 해제합니다.

SELinux 상태 확인

1
2
sestatus
  SELINUX=enable

SELinux 해제

해제 설정 후 시스템 재시작해야 적용됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
# 임시 중지 (재시작 후 다시 켜짐)
setenforce 0

# 영구 중지 (재시작 필요함)
vim /etc/selinux/config
  SELINUX=disabled

# 간단 명령어
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

# 재시작
reboot

6. 네트워크 설정

네트워크 상태 확인 (네트워크 어댑터명 확인)

1
2
3
4
5
6
7
8
9
10
ifconfig

eth0      Link encap:Ethernet  HWaddr A0:8C:FD:DC:0F:90
          inet addr:192.168.1.203  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a28c:fdff:fedc:f90/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1208300569 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1220137358 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:109710700477 (102.1 GiB)  TX bytes:1781122806279 (1.6 TiB)

네트워크 설정

네트워크 어댑터가 eth0인 경우 ifcfg-eth0 파일을 열어 설정합니다. ONBOOT 항목을 반드시 ‘yes’로 설정합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
vim /etc/sysconfig/network-scripts/ifcfg-eth0

  # DHCP인 경우 (IP 자동 할당)
  BOOTPROTO= dhcp
  ONBOOT= yes

  # 고정 IP를 설정할 경우
  BOOTPROTO= static
  ONBOOT= yes
  IPADDR= 설정할 IP
  PREFIX= 서브넷마스크 # 24 = 255.255.255.0
  GATEWAY= 라우터 IP
  DNS1= DNS 서버 IP
  DNS2= DNS 서버 IP

네트워크 적용 및 재시작

1
2
3
4
5
# CentOS 6
service network restart

# CentOS 7
systemctl restart network

7. 필수 패키지 설치

패키지 매니저 yum의 레포지토리가 로컬이 아닌 이상 반드시 네트워크 연결 후 사용할 수 있습니다.

필수 유틸

1
yum -y install net-tools bind-utils wget elinks vim nmap psmisc gcc gcc-c++

시스템 유틸

1
yum -y install yum-utils sysstat system-config-firewall-tui

8. ulimit 수정

OS 레벨의 제한 설정을 필요시 적절하게 수정합니다.

limits.conf 수정

1
2
3
4
5
6
7
8
vim /etc/security/limits.conf

  # 전체 사용자의 nofile 옵션을 추가하고 저장
  *      soft    nofile          65535
  *      hard    nofile          65535

# 재시작
reboot

적용된 내용 확인

1
2
3
4
5
6
7
8
9
# soft ulimit 확인
ulimit -a
    ...
    open files               (-n) 65535

# hard ulimit 확인
ulimit -aH
    ...
    open files               (-n) 65535

9. 계정 추가 및 삭제

서비스 사용에 필요한 계정 및 그룹을 설정합니다.

현재 시스템에 생성되어 있는 계정 및 그룹 확인

1
2
3
4
5
cat /etc/passwd
cat /etc/group

# 특정 계정 확인
grep 계정명 /etc/passwd

그룹 추가

1
groupadd 그룹명

사용자 추가

생성된 사용자의 기본 홈 디렉토리는 /home/사용자명입니다.

1
2
3
4
5
6
7
8
9
10
    useradd 사용자명

    # 그룹을 설정하는 경우
    useradd -g 그룹명 사용자명

    # 홈 디렉토리를 임의 설정하는 경우 : 폴더는 미리 생성해야 한다
    useradd -m -d 설정할경로 사용자명

    # 기존 사용자의 홈 디렉토리를 변경하는 경우
    usermod -d 변경할경로 사용자명

사용자 비밀번호 설정

1
passwd 사용자명

불필요한 계정 삭제

1
2
grep -e lp -e uucp -e nuucp /etc/passwd
userdel lp && userdel uucp && userdel nuucp

10. 방화벽 설정

10.1. Firewall (CentOS 7)

  • Firewall 기동
    1
    2
    
    systemctl status firewalld
    systemctl start firewalld
    
  • Firewall 정책 확인
    1
    
    firewall-cmd --zone=public --list-ports
    
  • Firewall 정책 설정
    1
    
    firewall-cmd --zone=public --add-port=9999/tcp
    
  • Firewall 리로드
    1
    
    firewall-cmd --reload
    

10.2. Iptables (CentOS 6/7)

CentOS 7
  • 기존 Firewall 중지
    1
    2
    3
    
    systemctl stop firewalld
    systemctl disable firewalld
    systemctl mask firewalld
    
  • Iptables 설치 및 기동
    1
    2
    3
    
    yum install iptables-services
    systemctl enable iptables
    systemctl start iptables
    
  • Iptables 기동
    1
    2
    3
    4
    5
    
    # CentOS 6
    service iptables start
    
    # CentOS 7
    systemctl start iptables
    
  • Iptables 정책 확인
    1
    
    iptables -nL
    
  • Iptables 정책 설정
    1
    2
    3
    4
    5
    6
    7
    
    vim /etc/sysconfig/iptables 에서 추가
    또는
    iptables -A INPUT -p tcp --dport 포트 -j ACCEPT
    
    # 정책 적용을 위한 서비스 재시작
    service iptables restart
    systemctl restart iptables
    

선택 설정


스케줄러 (크론탭) 설정

1
2
3
4
5
6
7
8
# 크론탭 참조 경로 : /var/spool/cron
# crontab 사용하고자 하는 user로 로그인 후

crontab -e
	## 분 시 일 월 요일 경로 로깅
	0 2 * * * /Backup/bin/daily.sh 1>/dev/null 2>/dev/null
	50 23 * * * crontab -l > /home/bak/crontab_bak.txt

원격 데스크탑 설정

유지보수를 위한 원격 데스크탑 설정이 필요시 RDP 프로토콜을 사용하기 위해 xrdp와 tigervnc-server를 설치해야 합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# EPEL Repository 및 xrdp, tigervnc-server 설치
yum install epel-release
yum install xrdp tigervnc-server

# 자동 실행 등록
chkconfig xrdp on
chkconfig vncserver on
-
systemctl enable xrdp
systemctl enable vncserver

# 방화벽 포트 등록(3389) 및 재시작
iptables -A INPUT -p tcp –dport 3389 -j ACCEPT
service iptables restart
-
firewall-cmd --permanent --zone=public --add-port=3389/tcp
firewall-cmd --reload

# 서비스 시작
service xrdp start
-
systemctl start xrdp

Yum Local Repository 설정

폐쇄망 환경에서는 인터넷을 통한 yum repository 사용이 불가능하므로, 설치 이미지에 포함되어 있던 패키지 라이브러리를 yum의 Local Repository로 설정해줍니다.

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
# CentOS 이미지 마운트
mkdir /root/iso
mount -o loop /root/CentOS.iso /root/iso

# 이미지 내용 복사
cp -rP /root/iso /root/repo

# yum repo 폴더에 이미 정의된 파일들을 다른 곳으로 백업
cd /etc/yum.repos.d
mkdir backup
mv /etc/yum.repos.d/*.repo backup

# yum local repo 파일 추가
vim /etc/yum.repos.d/local.repo

  [local-repository]
  name=local-repo
  baseurl=file:///root/repo
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
  gpgcheck=1
  enabled=1

# yum repo 재인식
yum clean all
yum repolist

# 설치 이미지 언마운트
df -h  # 마운트된 File System명 확인
umount /dev/loop0
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

댓글