重新整理一下centos7 的VSFTP安装步骤
环境:centos7
第一步:安装 vsftpd
yum install vsftpd
第二步:创建宿主用户
useradd virture_ftp_user -s /sbin/nologin passwd virture_ftp_user
第三步:创建相关文件
3.1 用户上传目录
mkdir /web mkdir /web/web1 mkdir /web/web2
3.2 日记记录文件
touch /var/log/vsftpd.log
3.3 虚拟用户的控制文件和文件夹
mkdir /etc/vsftpd/v_user_conf touch /etc/vsftpd/v_user_conf/web1
第四步 :修改上面创建文件的宿主
chown virture_ftp_user:virture_ftp_user -R /web chown virture_ftp_user:virture_ftp_user /var/log/vsftpd.log
第五步: 创建ftp的登陆用户 3个web1\web2\admin,登录密码123123
vi /etc/vsftpd/v_user.txt web1 123123 web2 123123 admin 123123
生成DB文件,命名为vuser_login.db
db_load -T -t hash -f /etc/vsftpd/v_user.txt /etc/vsftpd/vuser_login.db
改vuser_login.db文件的权限
chmod 700 /etc/vsftpd/vuser_login.db
配置ftp的登录认证模块,可以把vsftpd里面的内容清空,补充下面的2行
vi /etc/pam.d/vsftpd auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_login account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_login
第六步: 配置vsftpd的主文件vsftpd.conf
注意:复制时要把//注释删除掉
anonymous_enable=NO local_enable=YES write_enable=YES chroot_local_user=YES allow_writeable_chroot=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES xferlog_std_format=YES xferlog_file=/var/log/vsftpd.log //注意这个日志文件名 port_enable=NO connect_from_port_20=NO pasv_enable=YES pasv_min_port=60001 pasv_max_port=60010 ftpd_banner=Welcome 欢迎您 Helo. ls_recurse_enable=NO listen=YES guest_enable=YES guest_username=virture_ftp_user //注意这个宿主用户的名称 virtual_use_local_privs=YES pam_service_name=vsftpd user_config_dir=/etc/vsftpd/v_user_conf //注意这个FTP登录用户的控制文件夹名称 userlist_enable=YES userlist_deny=YES tcp_wrappers=YES max_clients=1 listen_port=4444 //这里改了登录端口 use_localtime=YES accept_timeout=60 data_connection_timeout=300 idle_session_timeout=300
第七步:编辑ftp用户的控制文件,以web1用户为例,其他复制,改一下目录即可
local_root=/web/web1 write_enable=YES anon_world_readable_only=YES anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
第八步:关闭防火墙和selinxu
systemctl stop firewalld setenforce 0
测试 ftp://IP:4444
补充: 防火墙和selinux相关操作
由于重启以后,selinux和防火墙又启动了。所以希望在防火墙开启的情况下也可以使用
永久关闭selinux:
vi /etc/selinux/config SELINUX=disabled
开启防火墙指定端口
firewall-cmd --zone=public --add-port=4444/tcp --permanent firewall-cmd --zone=public --add-port=60001-60010/tcp --permanent systemctl stop firewalld systemctl start firewalld