본문 바로가기
일상/IT자격증

[리눅스마스터 1급] Rocky Linux 실습 환경 셋팅하기

by YOONAYEON 2025. 5. 2.

💡 yum 명령어와 dnf 명령어

  - Rocky Linux 8부터는 yum 대신 dnf가 기본 패키지 관리자

  - yum도 사용 가능하지만 내부적으로는 dnf가 호출되는 것이기 때문에 dnf 가 권장됨

 

1. 시스템 업데이트

sudo dnf update -y

 

시간이 조금 걸렸으나 주르륵 뭔가 로딩되면서 Complete!

 

 

2. 필수 패키지 설치

sudo dnf install -y \
 > vim nano wget url net-tools \
 > bind-utils telnet traceroute \
 > man-pages man-db bash-completion \
 > lsof tcpdump firewalld \ 
 > policycoreutils-python-utils \
 > iptables iproute \
 > gcc make tar unzip \
 > openssh-server sudo \
 > passwd

 

패키지 이름 설명
vim, nano 텍스트 편집기 (서버 설정 파일 편집 시 필수)
wget, curl 인터넷에서 파일 다운로드 및 HTTP 통신 확인용
net-tools ifconfig, netstat 등의 오래된 네트워크 도구 모음
bind-utils dig, nslookup 등 DNS 질의 도구
telnet TCP 연결 테스트용 (포트 열림 확인 등)
traceroute 패킷 경로 추적 도구 (네트워크 경로 분석용)
man-pages, man-db 매뉴얼 페이지 관련 (명령어 도움말 man 사용 시 필요)
bash-completion 명령 자동 완성 지원 (tab 키 보완 기능)
lsof 열려 있는 파일 확인 (list open files)
tcpdump 네트워크 패킷 캡처 및 분석 도구
firewalld 동적 방화벽 관리 시스템 (기본 방화벽)
policycoreutils-python-utils SELinux 설정 및 관리 도구 포함
iptables 전통적인 방화벽 규칙 설정 도구
iproute ip 명령 제공 (네트워크 인터페이스, 라우팅 등 관리)
gcc, make C 컴파일러 및 Make 유틸 (소스 컴파일 시 필요)
tar, unzip 압축 해제 도구 (tar.gz, .zip 등)
openssh-server SSH 서버 설치 (원격 접속 가능하게 함)
sudo 관리자 권한으로 명령 실행 가능하게 함
passwd 사용자 비밀번호 변경 도구

 

 

 

마찬가지로 Complete!

 

 

3. SSH 활성화 (원격 접속용)

sudo systemctl enable sshd
sudo systemctl start sshd

 

 

4. 방화벽 설정 (기본 허용 규칙)

sudo systemctl enable firewalld
sudo systemctl start firewalld

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

 

 

 

5. Apache 설치

1) httpd 설치

sudo dnf install -y httpd

 

2) 서비스 시작 및 부팅 자동 실행 설정

sudo systemctl start httpd
sudo systemctl enable httpd

 

3) 방화벽에 HTTP 80번 포트 허용 설정

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

 

4) httpd 설정 파일 확인

cat /etc/httpd/conf/httpd.conf # 메인설정파일 확인
cat /etc/httpd/conf.d # 추가설정파일 목록 보기

 

 

6. FTP 설치

1) vsftpd 설치

sudo dnf install -y vsftpd

 

2) 서비스 시작 및 부팅 시 자동 실행

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

 

3) FTP 21번 포트 방화벽 허용

sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload

 

4) SELinux 허용

sudo setsebool -P ftp_home_dir=1

 

여기서 문제 발생..

나는 ftp_home_dir 이 생성되지 않았음

 

getsebool -a | grep ftp

위 명령어를 사용하 ftp_home_dir이 있는지 확인해보자.

 

없다 ... 이유는 

  1. SELinux 정책 패키지 설치 시 누락되었거나

  2. vsftpd 관련 SELinux 모듈이 설치되지 않았거나

  3. 처음에 minimal ISO로 설치해서 일부 정책이 빠졌거나

라고 한다.

 

필요한 SELinux정책과 유틸리티 패키지를 다시 설치했다.

sudo dnf install -y \
 > selinux-policy \
 > selinux-polcy-targeted \
 > setools-console \
 > libselinux-utils

 

패키지 역할
selinux-policy SELinux의 일반 정책 모음
selinux-policy-targeted 대부분의 서버에 적용되는 Targeted 정책 (기본)
policycoreutils SELinux 기본 유틸리티 모음 (restorecon, setfiles 등)
policycoreutils-python-utils semanage, setsebool 같은 고급 도구 포함
libselinux-utils getenforce, setenforce 같은 저수준 SELinux 제어 도구
setools-console 정책 분석 도구들 포함 (선택 사항, 고급용)

 

위 패키지 설치 후 reboot 해도 해결은 되지 않았다 .

일단 포기하고 간다. SELinux 꺼도 실습 환경에는 크게 상관이 없다고 한다.

# 설정파일 수정
vi /etc/selinux/config
 SELINUX=disabled # enforcing -> disabled 수정
 
 reboot # 시스템 재부팅

 

 

7. Samba 설치

1) samba 패키지 설치

sudo dnf install -y samba samba-client samba-common

 

 

 

8. NFS 설치

1) NFS 관련 패키지 설치

sudo dnf install -y ntf-utils

 

2) rpcbind 설치 여부 확인

rpm -q rpcbind

 

3) 공유할 디렉터리 생성

mkdir -p /srv/nfs/share
chown nobody:nobody /srv/nfs/share
chmod 0777 /srv/nfs/share

 

4) 설정파일 (/etc/exports) 편집

vi /etc/exports

/srv/nfs/share *(rw,sync,no_root_squash)  # 내용 추가

 

* : 모든 클라이언트 허용

rw : 읽기/쓰기

sync : 데이터 실시간 쓰기 (신뢰성 ↑)

no_root_squash : root권한 유지

 

5) NFS 서비스 시작 및 자동 실행 설정

sudo systemctl enable --now nfs-server
sudo exportfs -a

 

6) 방화벽 허용

sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --reload

 

- NFS 설정 확인 : 설정한 공유 디렉터리와 접근 권한 출력

 

 

 

8. DNS 설치

1) bind 관련 패키지 설치

sudo dnf install -y bind bind-utils

 

2) 설정 파일 확인

vi /etc/named.conf

 

3) named 서비스 시작 및 부팅 시 자동 실행

sudo systemctl enable --now named
sudo systemctl status named

 

4) 방화벽 설정

sudo firewall-cmd --permanent --add-service=dns
sudo firewall-cmd --reload

 

 

9. 메일 서비스 설치

sendmail을 설치해야 하나 postfix를 설치해야 하나 ..