CentOS 7.x VSFTPD 설치 및 설정방법



# yum -y install vsftpd


/etc/vsftpd/vsftpd.conf 파일 수정


anonymous_enable=NO

idle_session_timeout=3600

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

listen=YES

listen_ipv6=NO

allow_writeable_chroot=YES

use_localtime=YES

anon_max_rate=100000

local_max_rate=500000

trans_chunk_size=0

force_dot_files=YES

max_clients=10

max_per_ip=2


anonymous_enable=NO    ( anonymous 접속 막기 )

idle_session_timeout=3600    ( 접속 후 동작이 없을 때 자동으로 접속을 끊어준다. 디폴트값인 600은 10분인데 너무 짧다. )

chroot_local_user=NO    ( 상위폴더 접근막기 )

chroot_list_enable=YES    ( 상위폴더 접근막기 )

chroot_list_file=/etc/vsftpd/chroot_list    ( 위 옵션의 유저 리스트 파일 )

유저 추가를 안해주면 500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list 에러가 발생한다.

listen=YES    ( ip v4 )

listen_ipv6=NO

allow_writeable_chroot=YES    ( chroot_local_user 옵션 사용시 이 부분을 추가해주어야 한다. )

추가를 안해주면 500 OOPS: chroot 에러가 발생한다.

use_localtime=YES    ( 파일 시간을 서버 시간으로 표시해준다. )

anon_max_rate=100000    ( anonymous 전송속도 제어 100000 = 100KB/s )

local_max_rate=500000    ( local 유저 전송속도 제어 500000 = 500KB/s )

trans_chunk_size=0    ( chuck 사이즈 판단을 vsftp 가 하게 하려면 0 )

force_dot_files=YES    ( . 으로 시작하는 파일을 보여준다. )

max_clients=10    ( 최대 접속수 )

max_per_ip=2    ( 같은 IP 최대 접속수 )


[root@virtualbox ~]# getsebool -a | grep ^ftp_home_dir

ftp_home_dir --> off

[root@virtualbox ~]# setsebool -P ftp_home_dir on


상위폴더 접근막기를 하면 유저의 홈디렉토리가 안보이는데 ftp_home_dir 을 on 해주면 보인다.


테스트 유저를 생성해서 chroot_list 파일에 추가해보자.


[root@virtualbox ~]# useradd ftptester

[root@virtualbox ~]# passwd ftptester

ftptester 사용자의 비밀 번호 변경 중

새  암호:

새  암호 재입력:

passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.

[root@virtualbox ~]# echo "ftptester" >> /etc/vsftpd/chroot_list

[root@virtualbox ~]# chmod 600 /etc/vsftpd/chroot_list


ftp service 를 방화벽에 추가해주자.


[root@virtualbox ~]# firewall-cmd --permanent --add-service=ftp

success

[root@virtualbox ~]# firewall-cmd --reload

success


vsftpd 데몬 시작 및 재부팅시에도 자동으로 시작되도록 하자.


[root@virtualbox ~]# systemctl start vsftpd

[root@virtualbox ~]# systemctl enable vsftpd

Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.


이제 ftp로 접속 테스트를 해보면 된다.


블로그 이미지

iVPS 영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요