2013년 7월 23일 화요일

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 될더라도 값을 저장하여,
정상적으로 동작 하도록 한다. 

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 설정|작성자 세직사

댓글 없음:

댓글 쓰기