CentOS7.2-FTP搭建小记

在虚拟机中试验的,先生成快照
 
1. 安装vsftpd
#首先要查看你是否安装vsftp
# rpm -q vsftpd
 
#如果没有则安装vsftpd,#yum search vsftpd
# yum install -y vsftpd
 
#检查是否安装成功
# whereis vsftpd
 
#查看vsftpd服务的状态
# systemctl status vsftpd
 
#启动vsftpd
# systemctl start vsftpd
 
#设置vsftpd服务开机自启
# systemctl enable vsftpd
 
2. 配置vsftpd.conf
#备份配置文件
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
 
#执行以下命令(sed -i 命令相当于直接修改原文件)
#vi /etc/vsftpd/vsftpd.conf
#修改原配置
anonymous_enable=NO # 禁用匿名登录
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES # 启用限定用户在其主目录下
 
#添加下列内容到vsftpd.conf末尾
use_localtime=YES
listen_port=21
chroot_local_user=YES
idle_session_timeout=300
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vconf
data_connection_timeout=1
virtual_use_local_privs=YES
pasv_min_port=10060
pasv_max_port=10090
accept_timeout=5
connect_timeout=1
 
3. 建立用户文件
#第一行用户名,第二行密码,不能使用root为用户名,
#此处建立两个用户(test,、weijs,密码都是123456)
# vi /etc/vsftpd/virtusers
test
123456
weijs
123456
4. 生成用户数据文件
#检查是否安装db_load
# rpm –q 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
 
#设定PAM验证文件,并指定对虚拟用户数据库文件进行读取(权限r, w)
# chmod 600 /etc/vsftpd/virtusers.db
 
5. 修改/etc/pam.d/vsftpd文件
# 先备份
# cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
 
# 将auth及account的所有配置行注释
# vi /etc/pam.d/vsftpd
 
#添加新的配置
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
 
6. 新建系统用户vsftpd,用户目录为/home/vsftpd
#建立ftp主目录
# mkdir -p /home/vsftpd
 
#禁止ftp用户登录系统与授权
# useradd vsftpd -d/home/vsftpd -s /bin/false
# chown -R vsftpd:vsftpd /home/vsftpd
 
7. 建立虚拟用户个人配置文件
# mkdir /etc/vsftpd/vconf
# cd /etc/vsftpd/vconf
 
#为前面新增的两个用户分别建立虚拟用户配合文件(有多少个用户就配置多少个)
# touch test weijs
 
#建立用户根目录
# mkdir -p /home/vsftpd/test/
 
#编辑test用户配置文件,其他用户类似
# vi test
local_root=/home/vsftpd/test/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
 
8. 防火墙设置(centos 7)
#如果系统启用了防火墙和SELinux(默认情况下centos7是使用firewall和selinux)
 
#防火墙添加FTP服务:
# firewall-cmd --permanent --zone=public --add-service=ftp
# firewall-cmd --reload
#设置SELinux:
# getsebool -a | grep ftp
# setsebool -P ftpd_full_access on
 
9. 重启vsftpd服务器
# systemctl status vsftpd
# systemctl stop vsftpd
# systemctl start vsftpd
# systemctl status vsftpd
 
10. 测试
# 创建五个文件夹
# mkdir /home/vsftpd/test/test{1..5}
#使用firefox访问ftp://192.168.1.177,有的浏览器不提示错误
 
参考网址:
530错误:
500错误:
原文地址:https://www.cnblogs.com/weijs/p/8430456.html