一:安装FTP
//查看是否安装 rpm -q vsftpd //安装vsftpd yum -y install vsftpd
启动vsftpd服务
systemctl start vsftpd.service
查看vsftpd服务是否启动
systemctl statu vsftpd.service //设置开机自动启动 systemctl enable vsftpd.service
二:关闭firevall和SELinux
//查看firewalld状态 systemctl status firewalld //开启防火墙 systemctl start firewalld //再次查看防火墙状态 systemctl status firewalld //FTP服务添加到防火墙 firewall-cmd --permanent --zone=public --add-service=ftp firewall-cmd --reload
setenforce 0 # 设置SELinux 成为permissive模式 (关闭SELinux) setenforce 1 # 设置SELinux 成为enforcing模式 (开启SELinux) //或者修改配置 vi /etc/selinux/config
//关闭SEliunx SELINUX=disabled //设置SELinux getsebool -a | grep ftp setsebool -P ftpd_full_access on
三:修改配置文件
地址:/etc/vsftpd/vsftpd.conf
//不允许匿名访问,禁用匿名登录 anonymous_enable=NO //启用限定用户在其主目录下 chroot_local_user=YES //使用本地时(自行添加) use_localtime=YES chroot_list_enable=YES //允许使用本地账号进行FTP用户登陆验证 local_enable=YES //如果启用了限定用户在其主目录下需要添加这个配置,解决报错 500 OOPS: vsftpd: refusing to run with writable root inside chroot() allow_writeable_chroot=YES //启用上传和下载的日志功能,默认开启。 xferlog_enable=YES //设置本地用户默认文件掩码022 local_umask=022
创建用户文件
vim /etc/vsftpd/virtusers添加虚拟用户
#第一行用户名
wordpress
#第二行密码
123456
生成用户文件
//安装db(如果有不用安装) yum search db4 yum install-y compat-db47.x86_64 (以你的机器为准) //生成db文件 db_load -T -t hash-f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db //设置权限 chmod 600/etc/vsftpd/virtusers.db
修改配置文件
//生成备份 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak //添加语句和注释掉auth及account的所有配置行 auth sufficient/lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers account sufficient/lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
创建虚拟用户配置文件
//创建文件 touch wordpress //创建用户目录 mkdir -p /home/vsftpd/test/ //添加信息(自选) 当virtual_use_local_privs=YES 时,虚拟用户和本地用户有相同的权限; 当virtual_use_local_privs=NO 时,虚拟用户和匿名用户有相同的权限,默认是NO。 当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。 当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES, anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。 当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO, anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。 当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO, anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。 当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO, anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。 当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO, anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。
重启
//重启服务 systemctl restart vsftpd.service //启动服务 systemctl start vsftpd.service // 服务状态查看 systemctl status vsftpd.service
参考地址:
https://segmentfault.com/a/1190000008161400
https://blog.csdn.net/qq_26941173/article/details/54575952
可能存在问题的解决办法地址:
http://bbs.51cto.com/viewthread.php?tid=1480655&extra=&page=1