注意: 。(禁固目录) 只适用于2.2的版本即centos6 3.0的不适用即centos7
安装vsftpd和启动
yum -y install vsftpd #安装
touch /etc/vsftpd/chroot_list
mkdir -p /etc/vsftpd/ssl
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/ssl/vsftpd.pem -out /etc/vsftpd/ssl/vsftpd.pem #一直回车就行
/etc/init.d/vsftpd start #启动
配置例子(无ssl)
listen=YES listen_address=0.0.0.0 listen_port=21 anonymous_enable=NO write_enable=YES local_enable=YES local_umask=002 local_root=/var/ftp local_max_rate=0
seccomp_sandbox=NO
chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list dirmessage_enable=YES xferlog_enable=YES xferlog_std_format=YES xferlog_file=/var/log/xferlog dual_log_enable=YES vsftpd_log_file=/var/log/vsftpd.log connect_from_port_20=YES pam_service_name=abc tcp_wrappers=YES userlist_enable=YES userlist_deny=NO
userlist_file=/etc/allowed_users pasv_enable=YES pasv_max_port=31650 pasv_min_port=30010 max_clients=0 max_per_ip=0
配置例子(有ssl)
listen=YES listen_address=0.0.0.0 listen_port=21 anonymous_enable=NO write_enable=YES local_enable=YES local_umask=002 local_root=/var/ftp local_max_rate=0
seccomp_sandbox=NO
chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list dirmessage_enable=YES xferlog_enable=YES xferlog_std_format=YES xferlog_file=/var/log/xferlog dual_log_enable=YES vsftpd_log_file=/var/log/vsftpd.log connect_from_port_20=YES pam_service_name=abc tcp_wrappers=YES userlist_enable=YES userlist_deny=NO
userlist_file=/etc/allowed_users pasv_enable=YES pasv_max_port=31650 pasv_min_port=30010 max_clients=0 max_per_ip=0 ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=NO force_local_logins_ssl=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem
vsftp登入不了的几种情况
1.配置里开启了黑名单 userlist_enable=YES #是否启用user_list列表文件 黑名单 /etc/vsftpd/user_list (在这个文件中的用户ftp登不了) userlist_deny=YES 2.如果用户没有家目录是登入不了的
3.配置里开启了chroot_list /etc/vsftpd/chroot_list(这个文件不存在登不了)
chroot_local_user=YES #是否将用户禁锢在主目录,这个为yes(/etc/vsftpd/chroot_list白名单) chroot_list文件里的是开放,为no(/etc/vsftpd/chroot_list黑名单)
chroot_list_enable=YES #配合上面的使用
chroot_list_file=/etc/vsftpd/chroot_list #这里的是开放禁固的用户
添加vsftpd用户和 指定组
useradd -d /var/ftp -c "FTP User" -s /sbin/nologin ftp2 #-c描述没有实际做用只是用来 注释用的 -d指定家目录 (需要注意,如果用户没有家目录是登入不了的)
[root@host1 ~]# cat /etc/group | grep ftp
ftp:x:50:www,abc
###vsftpd配置文件说明########################
listen=YES #是否以独立运行的方式监听服务 listen_address=0.0.0.0 #设置监听的IP地址 listen_port=21 #设置监听FTP服务的端口号 anonymous_enable=NO #不启用匿名用户访问 write_enable=YES #写权限 local_enable=YES #启用本地用户访问 local_umask=002 #本地用户所上传文件的权限掩码 目录775 文件644 local_root=/var/ftp #设置本地用户的FTP根目录 (设置了这个每个用户进来都在这个目录) local_max_rate=0 #限制最大传输速率(字节/秒)
seccomp_sandbox=NO #避免530错误
###以下3项结合使用,禁锢在主目录相关的配置 chroot_local_user=YES #是否将用户禁锢在主目录,这个为yes(/etc/vsftpd/chroot_list白名单.常用 ) chroot_list文件里的是开放,为no(/etc/vsftpd/chroot_list黑名单) chroot_list_enable=YES #配合上面的使用 chroot_list_file=/etc/vsftpd/chroot_list #这里的是开放禁固的用户(这个文件不存在会登入不了) dirmessage_enable=YES #用户切换进入目录时显示.message文件的内容(如果存在) ###日志相关的配置
###操作日志 xferlog_enable=YES #启用xferlog日志,默认记录到/var/log/xferlog xferlog_std_format=YES #启用标准的xferlog日志格式,若禁用,将使用vsftpd自己的日志格式 xferlog_file=/var/log/xferlog
##连接日志
dual_log_enable=YES #日志配置 vsftpd_log_file=/var/log/vsftpd.log #日志配置 connect_from_port_20=YES #允许服务器主动模式(从20端口建立连接) pam_service_name=abc #设置用于用户认证的PAM文件位置(/etc/pam.d/目录中对应的文件名,设置一个不存在的文件名,相当于关掉这个功能) tcp_wrappers=YES #是否启用TCP_wrappers主机访问控制 ##限制用户登陆 userlist_enable=YES #是否启用user_list列表文件 黑名单 /etc/vsftpd/user_list(这个文件里的用户ftp登不了) userlist_deny=NO #此值为YES是黑名单,为NO是白名单 userlist_file=/etc/allowed_users
pasv_enable=YES #允许被动模式连接 pasv_max_port=31650 #设置用于被动模式的服务器最大端口号 pasv_min_port=30010 #设置用于被动模式的服务器最小端口号 max_clients=0 #限制并发客户端连接数 max_per_ip=0 #限制同一IP地址的并发连接数
###以下是ssl配置
ssl_enable=YES #启用ssl
allow_anon_ssl=NO
force_local_data_ssl=NO #强制匿名用户使用加密登陆和数据传输,若为NO时,可选加密或者不加密
force_local_logins_ssl=YES #同上
ssl_tlsv1=YES #指定vsftpd支持TLS v1[推荐]
ssl_sslv2=NO #指定vsftpd支持SSL v2[不推荐]
ssl_sslv3=NO #指定vsftpd支持SSL v3[不推荐]
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem #SSL证书路径
###########生成ssl文件################
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/ssl/vsftpd.pem -out /etc/vsftpd/ssl/vsftpd.pem #一直回车就行
工具连接vsftp(ssl)
1.FlashFXP
2.filezilla