- A+
所属分类:Linux
系统环境:Centos 7 软件版本: 1.检查系统是否安装vsftpd [root@localhost ~]# rpm -qa | grep vsftpd 2.如没有安装用yum安装,也可用光盘安装,libdb-utils用来加密虚拟账户信息 [root@localhost ~]# yum install -y vsftpd ftp libdb-utils [root@localhost ~]# rpm -qc vsftpd /etc/logrotate.d/vsftpd 日志文件 /etc/pam.d/vsftpd PAM认证文件 /etc/vsftpd/ftpusers 禁止使用vsftpd的用户列表 /etc/vsftpd/user_list 禁止或允许使用vsftpd用户列表 /etc/vsftpd/vsftpd.conf 主配置文件 /var/ftp 匿名用户主目录 /var/ftp/pub 匿名用户的下载目录 3.启动服务 [root@localhost ~]# systemctl start vsftpd.service [root@localhost ~]# systemctl enable vsftpd.service 4.添加防火墙 [root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=21/tcp success [root@localhost ~]# firewall-cmd --reload success [root@localhost ~]# 5.修改配置文件 [root@localhost ~]# vim /etc/vsftpd/vsftpd.conf #服务器独立运行 listen=YES listen_ipv6=NO #设定不允许匿名访问 anonymous_enable=NO #设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问 local_enable=YES #使用户不能离开主目录 chroot_list_enable=YES #设定支持ASCII模式的上传和下载功能 ascii_upload_enable=YES ascii_download_enable=YES #PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证 pam_service_name=vsftpd #设定启用虚拟用户功能 guest_enable=YES #指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了 guest_username=ftp #设定虚拟用户文件存放路径。(配置文件名=虚拟用户名) user_config_dir=/etc/vsftpd/fuser_conf #配置vsftpd日志(可选) xferlog_enable=YES xferlog_std_format=YES xferlog_file=/var/log/xferlog dual_log_enable=YES vsftpd_log_file=/var/log/vsftpd.log 6.创建用户密码文本,奇数行是用户名,偶数行是密码 vim /etc/vsftpd/fuser_passwd.txt long 123456 test 123 #生成虚拟用户认证的db文件 [root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/fuser_passwd.txt /etc/vsftpd/fuser_passwd.db 7.编辑认证文件,全部注释掉原来的,增加下面 [root@localhost ~]# vim /etc/pam.d/vsftpd auth required pam_userdb.so db=/etc/vsftpd/fuser_passwd account required pam_userdb.so db=/etc/vsftpd/fuser_passwd 8.创建虚拟用户配置文件 [root@localhost ~]# mkdir /etc/vsftpd/fuser_conf 文件名等于fuser_passwd.txt里面的账户名,否则配置文件无效 [root@localhost ~]# vim /etc/vsftpd/fuser_conf/test local_root=/opt/ftp/test write_enable=YES anon_umask=022 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES [root@localhost ~]# vim /etc/vsftpd/fuser_conf/long local_root=/opt/ftp/long write_enable=YES anon_umask=022 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES 9.设置权限,对主目录不能有写的权限所以/opt/ftp为755,主目录下面的子目录再设置777权限 [root@localhost ~]# mkdir -p /opt/ftp/test /opt/ftp/long [root@localhost ~]# chmod -R 755 /opt/ftp [root@localhost ~]# chmod -R 777 /opt/ftp/test /opt/ftp/long #建立限制用户访问目录的空文件 touch /etc/vsftpd/chroot_list #如果启用vsftpd日志需手动建立日志文件 touch /var/log/xferlog touch /var/log/vsftpd.log