vsftpd服务的部署
1. ftp的介绍
ftp:file transfer proto 互联网中最老的文件传输协议
2. vsftpd安装
1.安装vsftpd
# yum install vsftpd -y 安装vsftpd
2.关闭selinux和firewalld
3.设置vsftpd状态
# systemctl start vsftpd 开启vsftpd
# systemctl enable vsftpd 设置开机启动
4.测试
firefox ftp://ip
lftp ip
3.vsftpd基本信息
服务名称: vsftpd.service
配置目录:/etc/vsftpd
主配置文件:/etc/vsftpd/vsftpd.conf
默认发布目录:/var/ftp
报错信息:
550 程序本身拒绝
553 文件系统权限限制
500 权限过大
530 认证失败
4.匿名用户访问控制
# lftp 192.168.1.35 匿名访问
# lftp 192.168.1.35 -u westos 本地用户访问
# systemctl restart vsftpd 重启服务
匿名用户登录控制
vim /etc/vsftpd/vsftpd.conf
家目录控制
控制上传文件
# vim /etc/vsftpd/vsftpd.conf
# # chmod 777 /var/ftp/pub 给文件目录权限
# systemctl restart vsftpd 重启服务
下载控制
控制匿名用户建立目录(所进入的目录有足够的权限)
# vim /etc/vsftpd/vsftpd.conf
# # chmod 777 /var/ftp/pub 给文件目录权限
# systemctl restart vsftpd 重启服务
控制删除文件(所进入的目录有足够的权限)
控制匿名用户登录用户数量
# vim /etc/vsftpd/vsftpd.conf 编辑文件
# systemctl restart vsftpd 重启服务
控制匿名用户上传速率
5.本地用户的访问
本地用户家目录的控制
# vim /etc/vsftpd/vsftpd.conf 编辑文件
# systemctl restart vsftpd 重启服务
用户登陆控制
vim /etc/vsftpd/ftpusers 永久黑名单
vim /etc/vsftpd/user_list 默认黑名单
用户白名单(不在白名单中的用户不能登陆ftp)
# vim /etc/vsftpd/vsftpd.conf 编辑文件
# vim /etc/vsftpd/user_list
锁定用户到自己的家目录
# vim /etc/vsftpd/vsftpd.conf 编辑文件
# systemctl restart vsftpd 重启服务
# chmod u-w /home/*
锁定用户到自己的家目录的白名单
# vim /etc/vsftpd/vsftpd.conf 编辑文件
# systemctl restart vsftpd 重启服务
锁定用户到自己家目录的黑名单
# vim /etc/vsftpd/vsftpd.conf 编辑文件
# systemctl restart vsftpd 重启服务
6.虚拟用户访问
1.建立虚拟用户过程
1>.建立认证文件模板
# vim /etc/vsftpd/ftp_auth_file 建立用户认证文件模板
2>.加密认证文件
# db_load -T -t hash -f ftp_auth_file ftp_auth_file.db
-T 转化 -t type ftp_auth_file指定文件
3.>建立认证策略文件
# vim /etc/pam.d/westos 建立认证策略文件
4>编辑主配置文件
# vim /etc/vsftpd/vsftpd.conf 编辑文件
# systemctl restart vsftpd 重启服务
测试
2. 虚拟用户家目录独立设定
# mkdir -p /ftpuserdir/linux{1..3} 建立家目录
# touch /ftpuserdir/linux1/linux1file
# touch /ftpuserdir/linux2/linux2file 建立家目录中的文件方便观察
# touch /ftpuserdir/linux3/linux3file
# vim /etc/vsftpd/vsftpd.conf 编辑文件
# systemctl restart vsftpd 重启服务
测试:
3.用户配置独立
# vim /etc/vsftpd/vsftpd.conf 编辑文件
# mkdir /etc/vsftpd/user_config 建立目录
# vim /etc/vsftpd/user_config/linux1
# systemctl restart vsftpd 重启服务
测试