FTP는 TCP/IP 프로토콜 기반으로 서버와 클라이언트 사이에 파일을 주고받기 위한 프로토콜
FTP를 사용하기 위해서는 FTP서버를 구축해야 하고 서버에 접속하기 위한 계정 필요
공개 소프트웨어를 공유하는 서버인 경우에는 익명 계정(anonymous)를 이용해서 사용 가능
vsftp(Very secure ftp daemon)는 간결하고 안전하며 처리 속도도 매우 빠른 프로그램으로 리눅스 및 유닉스 계열에서 사용 가능
dnf -y install vsftpd
systemctl --now enable vsftpd
vsftp 환경 설정 파일
/etc/vsftpd/vsftpd.conf
익명계정 허가 처리
umask - 디렉터리, 파일을 만들 때 부여하는 기본 권한
vsftp가 변경되었으므로 대몬 재시작
systemctl restart vsftpd
vsftpd가 백그라운드에서 실행되고 있는지 확인
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
파일질라를 통해 ftp 연결 테스트
21번 포트에 접속 시도 -> 제어 포트
이후 20번 포트에 접속 -> 데이터 포트
명령어는 21번 포트로 연결되며 파일은 20번 포트로 주고받음
cd /var/ftp
ll
디렉터리 권한이 root로 되어있는데 ftp파일의 권한을 변경해야 파일을 주고받을 수 있음
리눅스에서는 파일, 디렉터리 이름에 띄어쓰기를 넣지 않는다.
만약 띄어쓰기를 쓰고 싶다면 '' 따옴표를 사용할 수 있다.
파일질라에서 파일 업로드는 되지만 삭제는 되지 않는다.
vi /etc/vsftpd/vsftpd.conf 에서 삭제 옵션 추가 (기본으로 삭제 명령어가 없음)
anon_other_write_enable=YES
systemctl restart vsftpd
파일질라에서 파일 삭제하면 정상적으로 삭제되는것을 알 수 있음
일반사용자로 접근할 경우 해당 디렉터리(home/사용자) 권한이 있으므로 행동에 제약이 없음 (파일 업로드, 삭제 모두 가능)
useradd temp
passwd temp 1234
visudo
sudo su -
sudo 권한이 있을 경우 해당 명령어로 root 변신
Server A, B 초기화
Server B에는 DNS 2명 분량의 도메인을 기입
ftp 서브 도메인에 대해서 중개
Server A에는 FTP 서버를 각각 설정, 상호간 익명 접속 및 상호 간의 니셜로 된 사용자 이름으로 접속
단, FTP 접속 시 IP 사용 금지
Server B DNS 서버
dnf -y install bind
dnf -y install bind-utils
systemctl --now enable named
firewall-cmd --add-service=dnsvi /etc/named.conf
vi /etc/named.rfc1912.zones
zone "slime.com" IN {
type master;
file "slime.com.zone";
allow-update { none; };
};zone "hero.com" IN {
type master;
file "hero.com.zone";
allow-update { none; };
};named 오류 확인
named-checkconfcd /var/named
cp -p named.empty slime.com.zone
cp -p named.empty hero.com.zonevi slime.com.zone
ftp IN A 10.0.2.196
vi hero.com.zone
ftp IN A 10.0.2.223
named zone 파일 오류 확인
named-checkzone slime.com.zone /var/named/slime.com.zonesystemctl restart named
vi /etc/resolv.conf
nameserver 192.168.111.200
Server A FTP 서버
dnf -y install vsftpd
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
systemctl --now enable vsftpd
vi /etc/resolv.conf
nameserver 192.168.111.200
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reloadGUI 환경으로 파이어폭스에서 파일질라 다운로드
useradd hgd
passwd hgd 1234파일질라 실행 후 로그인
ftp.slime.com hgd 1234 - 만든 사용자 계정으로 로그인
ftp.slime.com - anonymous로 로그인
만약 hostOS에서 파일질라 접근 시 도메인을 DNS 서버로 입력 후 테스트