FTP服务器

FTP连接及传输模式

本文内容:匿名用户、本地用户、虚拟用户、黑白名单

控制连接

TCP21

用于发送FTP命令信息

数据连接

TCP20

用于上传,下载数据

数据连接的建立类型

主动模式

服务器主动发起数据连接

首先由客户端向服务端的21端口建立FTP控制连接。客户端以PORT命令告知服务器。于是服务器从20端口。向客户端的该端口发送请求并建立数据连接

被动模式

服务器被动等待数据连接

如果客户端所在网络的防火墙禁用主动模式连接,通常会使用被动模式

首先由客户端向服务器21端口建立FTP控制连接。当需要传输数据时,服务器以被动命令告知客户端,于是客户端向服务器的该端口(非20)发送请求并建立数据连接

 FTP用户类型

匿名用户

用户名未ftp或匿名提供任意密码都可以通过服务器验证,一般用于公共文件的下载

本地用户

直接使用本地的系统用户账户进行验证

虚拟用户

通过一份独立的用户数据库文件进行登陆验证,将FTP账户与Linux系统账户的管理学降至最低,为系统提供提供更好的安全性

安装服务

yum -y install vsftpd ftp

准备匿名FTP访问的目录

cd /var/ftp/
chown ftp pub/
cp vsftpd.conf{,.ori}    备份

匿名用户

开放匿名用户配置

vim vsftpd.conf
12.anorymous_enable=YSE      匿名用户登陆
29.anon_upload_enable=YES     允许匿名上传
30.anon_umak=000          权限掩码
34.anon_mkdir_write_enable=YES  允许其他人创建
35.anon_other_write_enable=YES  允许其他人写入

本地用户

恢复备份
cp vsftpd.conf.ori vsftpd.conf
vim vsftpd.conf
16.local_enavle=YES        允许本地用户上传
19.write_enavle=YES        允许本地用户修改
23.local_umask=022
103.chroot_local_user=YES     将用户锁在用户家目录中
104.allow_writeavle_chroot=YES  允许写入家目录

虚拟用户登录

虚拟用户使用Berkeley DB个数的数据库文件来存放虚拟用户账号,使用db_load工具生成数据库文件。

恢复备份
cp vsftpd.conf.ori vsftpd.conf
vim vsftpd.conf
输入匿名用户的配置,除了不允许其他人登录
cd /etc/vsftpd
vim vusers.txt
zhangsan
123
lisi
123
wangwu
123

 db_load -T -t hash -f vusers.txt vusers.db

讲用户名相关文件修改为600权限

 chmod 600 vusers.*

 添加映射账号,为FTP根目录修改权限

 useradd -d /var/ftproot -s /sbin/nologin vuser

 增加PAM认证

 cp /etc/pam.d/vsftpd{,.vu}  备份

 vim /etc/pam.d/vsftpd.vu

#%PAM-1.0
auth             required    pam_userdb.so db=/etc/vsftpd/vusers
account          required    pam_userdb.so db=/etc/vsftpd/vusers
#自动会识别后边的.db后缀,不要手动添加

 修改vsfptd.conf配置文件

126 pam_service_name=vsftpd.vu
127 guest_enable=YES        
128 guest_username=vuser
129 allow_writeable_chroot=YES
130 user_config_dir=/etc/vsftpd/vusers_dir/

 实现每个虚拟用户不同根目录,不全权限的管控

 创建用户控制目录,并创建虚拟所对应的同名配置文件

 cd /etc/vsftpd

 mkdir vusers_dir

 vim vusers 

anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/ftp/zhangsan

 mkdir -p /ftp/zhangsan

 chown vuser /ftp/zhangsan

黑白名单

ftpusers文件:FTP服务器中的黑名单,优先级高于user_list文件
user_list文件:此用户列表默认情况下也是黑名单,即在此用户列表中的用户不可访问FTP服务器,但可以通过vsftpd.conf主配置文件的修改将此名单改为白名单,且仅此名单中的用户可以访问。
修改配置文件
vim vsftpd.conf
130 userlist_enable=YES
131 userlist_deny=NO

关闭防火墙与安全机制

systemctl stop firewalld
setenforce 0

查看服务是否开启

netstat -anpt | grep :21

测试自身是否可以登陆

ftp 127.0.0.1

使用windows访问测试

打开资源管理器测试是否可以创建目录,下载,删除可以即为成功,反之创建失败

扩展配置文件中的其他配置

listen=YES
listen_address=192.168.1.108
listen_port=2121    //设置监听端口
pasv_enable=YES    //是否开启被动模式
pasv_min_port=24500    //被动模式端口下限
pasv_max_port=24600    //被动模式端口上限
max_clients=2000        //最大15000,最大客户连接数,一般不限制
max_per_ip=2        //每个ip限制最多打开几个客户端工具,一般不限制
anon_max_rate=50000        //匿名最大传输速率,一般不限制
local_max_rate=20000        //本地用户最大传输速率,一般不限制
posted @ 2021-02-01 17:08  漫漫潇湘路  阅读(94)  评论(0编辑  收藏  举报