Linux ( CentOS ) FTP 설정
프로젝트를 진행하며 문서를 공유하기위해 파일서버를 찾다가 CentOS가 설치되어있는 서버에 FTP서버를 설치하기로 결정
인터넷을 검색해가며 해보니 그리 어렵진 않았지만 나중을 위해 정리해보기로 한다.
1. vsftpd 설치 : Linux에서 사용하는 FTP서버데몬
설치명령은 아래와 같다. (별도로 관련파일 복사없이 그냥 명령어만 치니까 설치가 되더라.
참고로 홈페이지는 https://security.appspot.com/vsftpd.html )
# yum install vsftpd
2. 환경파일 설정
# vi /etc/vsftpd/vsftpd.conf
anoymous_enable=NO //익명으로 접속시 NO
pasv_enable=YES //엑티브모드로 사용할 시 NO
3. FTP용 계정생성
# user add 계정명
# passwd 계정명
4. 방화벽 설정 : iptables에 20, 21번 포트를 등록해준다.
# vi /etc/sysconfig/iptables
////////////////아래의 내용 추가
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
//iptable재기동
# service iptables restart
5. FTP서버기동
# service vsftpd start (종료 : stop, 재기동 : restart)
부팅시 FTP자동실행 설정
chkconfig --level 2345 vsftpd on
7. 프로세스 확인 및 포트확인
# ps -ef | grep vsftpd
# netstat -ntlp
======= 기타 오류 및 정보확인
vi /etc/vsftpd/chroot_list
FTP 로그인할 계정을 등록
2. ftp: connect: No route to host
리눅스에서 ftp를 사용할 때에 ftp: connect: No route to host
라는 메시지가 나올 때가 있다.
이럴 경우에는 host server 의 iptable을 살펴 보아야 한다.
사용 하지 않을 거면 iptables 를 stop 한다
#/etc/init.d/iptables stop
그 후
500 OOPS : cannot change directory:/root
500 OOPS : child died
라고 나오는 경우 아래와 같이 입력한다.
# setsebool -P ftp_home_dir=1
3. vsftp에서 500 OOPS: cannot change directory 오류가 나올 때
/etc/vsftpd/vsftp.conf를 수정했는데도 불구하고 500 애러가 나오면서 접속이 안될때는
SELinux 때문이라고 합니다.
# setsebool -P ftp_home_dir=1
이렇게 하면, ftp directory에 대한 접근을 허가 하게된다.
"-P"는 Rebooting 될더라도 값을 저장하여,
정상적으로 동작 하도록 한다.
SELinux 때문이라고 합니다.
# setsebool -P ftp_home_dir=1
이렇게 하면, ftp directory에 대한 접근을 허가 하게된다.
"-P"는 Rebooting 될더라도 값을 저장하여,
정상적으로 동작 하도록 한다.
vsftpd(vsftp 데몬)의 상태를 보기
service vsftpd status
iptables(방화벽)의 상태를 보기
service iptables status
4. vsftpd.conf 파일의 정보
5. CentOS. FTP 총정리
////////////////////////////////////////////
실제로 설치하면서 발생했던 오류들
- OOPS: cannot change directory:/home/ueco
-> # setsebool -P ftp_home_dir=1 명령으로 해결
- OOPS: could not read chroot() list file:/home/ueco
-> vsftp.conf설정에서 chroot관련 설정을 모두 주석처리함
- OOPS: 500 OOPS: child died
디렉터리 목록을 획득할 수 없습니다.
Entering Passive Mode (10,250,114,243,21,35).
->컴퓨터의 FTP툴에서 Passive 모드를 비활성화해서 접속함
[출처] Linux ( CentOS ) FTP 설정|작성자 세직사
댓글
댓글 쓰기