운영체제 설치 후 필수 설정
1. CentOS 시스템 정보 확인
시스템 정보 확인
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
|
그룹 추가
사용자 추가
생성된 사용자의 기본 홈 디렉토리는 /home/사용자명
입니다.
1
2
3
4
5
6
7
8
9
10
| useradd 사용자명
# 그룹을 설정하는 경우
useradd -g 그룹명 사용자명
# 홈 디렉토리를 임의 설정하는 경우 : 폴더는 미리 생성해야 한다
useradd -m -d 설정할경로 사용자명
# 기존 사용자의 홈 디렉토리를 변경하는 경우
usermod -d 변경할경로 사용자명
|
사용자 비밀번호 설정
불필요한 계정 삭제
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 리로드
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 정책 확인
- 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
|
댓글