1.安装vsftpd服务
yum -y install vsftpd
2.配置虚拟用户
2.1)创建虚拟账号数据库文件
[root@node1 vsftpd]# cat /etc/vsftpd/vusers.listbobpwd@123tompwd@123[root@node1 vsftpd]#
2.2)生成虚拟账户数据库文件
[root@node1 vsftpd]# db_load -T -t hash -f /etc/vsftpd/vusers.list /etc/vsftpd/vusers.db
2.3)添加虚拟账户映射创建FTP根目录
[root@node1 vsftpd]# mkdir -p /mnt/mfs/ftp[root@node1 vsftpd]# useradd -d /mnt/mfs/ftp/ -s /sbin/nologin virtua
2.4)设置FTP根目录的权限
[root@node1 vsftpd]# chmod 755 /mnt/mfs/ftp/
3.配置PAM身份验证和创建虚拟账户权限目录
3.1)配置PAM验证
[root@node1 vsftpd]# vim /etc/pam.d/vsftpd.vu#%PAM-1.0auth required pam_userdb.so db=/etc/vsftpd/vusersaccount required pam_userdb.so db=/etc/vsftpd/vusers
3.2 创建虚拟账户权限目录
[root@node1 vsftpd]# mkdir /etc/vsftpd/vusers_dir
4.修改VSFTP主配置文件配置虚拟账户FTP
4.1)修改vsftpd.conf配置文件
[root@node1 vsftpd]# cat /etc/vsftpd/vsftpd.confanonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022anon_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=NOlisten_ipv6=YESchroot_local_user=YESallow_writeable_chroot=YESguest_enable=YESguest_username=virtualuser_config_dir=/etc/vsftpd/vusers_dir/pam_service_name=vsftpd.vuuserlist_enable=YEStcp_wrappers=YES[root@node1 vsftpd]#
4.2)创建虚拟账户权限文件
[root@node1 vsftpd]# touch /etc/vsftpd/vusers_dir/bob[root@node1 vsftpd]# touch /etc/vsftpd/vusers_dir/tom
4.3)权限划分给bob用户设置访问FTP完全控制权限
[root@node1 vsftpd]# cat /etc/vsftpd/vusers_dir/bobanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES[root@node1 vsftpd]#
4.4)权限划分给tom用户设置只有上传权限
[root@node1 vsftpd]# cat /etc/vsftpd/vusers_dir/tomanon_upload_enable=YES #改成NO权限变为只能下载[root@node1 vsftpd]#
4.5)修改FTP根目录的所有者
[root@node1 vsftpd]# chown virtual:virtual /mnt/mfs/ftp/
4.6)启动FTP服务
[root@node1 vsftpd]# systemctl restart vsftpd
ps:遇到的问题 user_list
解决方法:touch /etc/vsftpd/user_list
FileZilla连接FTP提示:不安全的服务器,不支持 FTP over TLS
1.检查vsftpd师范支持ssl模块
[root@node1 vusers_dir]# ldd $(which vsftpd)|grep ssllibssl.so.10 => /lib64/libssl.so.10 (0x00007f1d5e682000)
2.生成ssl证书
[root@node1 vusers_dir]# openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem
证书配置解析:
Generating a 2048 bit RSA private key.............................................................+++..........................................................................+++writing new private key to 'vsftpd.pem'-----You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [XX]:CN #国家名称(2个字母代码)[XX]:CNState or Province Name (full name) []:CHINA #国家或省名(全称)[]:中国Locality Name (eg, city) [Default City]:CHINA #地名(如城市)[默认城市]:中国Organization Name (eg, company) [Default Company Ltd]:ORG #组织名称(如公司)[默认公司有限公司]:ORGOrganizational Unit Name (eg, section) []:ORG #组织单元名称(例如,节)[]:ORGCommon Name (eg, your name or your server's hostname) []: #常用名称(例如,您的名称或服务器的主机名)[]:NameEmail Address []: #电子邮件地址[]:EMAIL@
移动证书文件
[root@node1 vusers_dir]# mv vsftpd.pem /etc/ssl/certs/[root@node1 vusers_dir]# chmod 400 /etc/ssl/certs/vsftpd.pem
3.修改vsftpd.conf配置文件
在最后面天添加下列配置
ssl_enable=YESallow_anon_ssl=NOforce_local_data_ssl=YESforce_local_logins_ssl=YESforce_anon_logins_ssl=YESforce_anon_data_ssl=YESssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NOrequire_ssl_reuse=NOssl_ciphers=HIGHrsa_cert_file=/etc/ssl/certs/vsftpd.pemrsa_private_key_file=/etc/ssl/certs/vsftpd.pem
4.重启vsftpd服务
[root@node1 vsftpd]# systemctl restart vsftpd