본문 바로가기

OS/Linux

CentOS6(x86_64)에서 vsftp 설치

yum으로 설치

# yum -y install vsftpd

 
 이제 설정을 해보자.

#vi /etc/vsftpd/vsftpd.conf 


설치 상태에서 수정또는 추가한 부분만 설명하겠다. 나머지는 한번 찾아보자.
anonymous_enable=NO # 익명 접근을 막는다.
chroot_local_user=YES  # 계정 홈을 ftp 루트로 한다.
chroot_list_enable=YES  # 계정 홈의 상위 디렉토리 접근 권한을 가지는 리스트를 관리한다.
chroot_list_file=/etc/vsftpd/chroot_list  # 위 옵션과 같이 사용되며 상위 디렉토리 접근 권한이 있는 계정 목록이다.
pasv_enable=YES  # 데이터 전송을 위해 active mode를 사용한다. 
pasv_min_port=50000 # active mode 포트 최소 포트
pasv_max_port=50010 # active mode 포트 최대 포트

위에 설정을 보면 알겠지만 사용자 계정의 홈을 루트로 잡고 있다. 그래서 ftp용 계정을 만들어 관리하기로 했다. 

#useradd ftpuser
#passwd ftpuser 

 계정을 만들고 비밀번호를 변경했다. 자주 안해서 몰랐는데 간단하다.

 이제 vsftpd 실행이 잘 되는지 테스트하고 넘어가자

# service vsftpd start

vsftpd에 대한 vsftpd을 시작 중:                            [  OK  ]

# service vsftpd stop

vsftpd 종료 중:                                            [  OK  ]  

 잘 실행된다. 그리고 실행시 아래와 같은 에러가 날 경우가 있다.

500 OOPS: cannot change directory:/home/아이디 500 OOPS: child died 

개정홈을 관리하는 리눅스 정책상의 문제이기 때문에 수정해주어야한다.

setsebool -P htp_home_dir=1

-P 옵션을 넣으면 부팅해도 설정이 유지된다. 

테스트를 하는데 한가지 문제가 생겼다. 알ftp에서는 한글이 깨진다. 그래서 파일질라를 이용하여 성공하였다.
알ftp도 여러가지 문자셋을 지원하면 좋겠다. 알집은 지원된지 좀 된거 같은데...

참고 사이트
http://10000wo.tistory.com/18 
http://vsftpd.beasts.org/vsftpd_conf.html