文章目录
什么是FTP
FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文件传输协议,FTP协议是现今使用最为广泛的网络文件共享协议之一,我们现在也一直有在用着FTP协议来进行各种文件的传输,FTP为我们提供了一种可靠的方式在网络上进行文件的共享
FTP是C/S架构的服务,拥有一个服务器端和一个客户端,FTP底层通过TCP协议来作为传输协议,所以FTP协议是一种可靠的文件传输方式
安装vsftpd
VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP
yum install vsftpd -y
开启服务
在另一台虚拟机上安装lftp
关掉firewall和selinux
vsftpd服务的使用和配置
服务名称:vsftpd.service
配置目录:/etc/vsftpd
主配置文件:/etc/vsftpd/vsftpd.conf
默认发布目录:/var/ftp
匿名用户访问控制
登录控制
vsftpd 默认允许匿名用户访问 将anonymous_enable设为NO
此时匿名用户访问失败
家目录控制
默认 家目录在/var/ftp/下 可以在配置文件里添加anon_root控制匿名用户家目录
上传控制
默认不允许上传
550 是程序本身拒绝,意味着没有开启上传功能
开启上传功能后
553表示权限不够
匿名用户不能上传文件到root用户所属的文件夹
开启满权限
500代表权限过大 vsftp是Very Secure FTP 权限超过755以后访问就被拒绝
所以在/var/ftp下给pub目录满权限
此时上传成功
下载控制
550是程序本身拒绝
在配置文件中添加
下载成功
其实只有开启匿名用户可读后 才能用ls查看上传的文件
目录建立控制
550代表程序本身拒绝,说明需要开启配置
这下就好了
删除控制
在目录中上传文件
删除它
550没有配置
此时文件成功删除
登录数量限制
设置最多2个客户端登录
上传下载速率限制
没限速之前
设置限速
报错信息
报错信息 | 意义 |
---|---|
550 | 程序本身拒绝 |
553 | 文件系统权限限制 |
500 | 权限过大 |
530 | 认证失败 |
本地用户访问限制
在服务端
登陆控制
家目录控制
写权限控制
550说明没有配置
可以上传可以删除
上传文件权限控制
默认umask为022
权限变为600
用户登陆控制
vsftp有两个控制用户登录的配置文件
编辑/etc/vsftpd/ftpusers 加入westos
用户不能登录
去掉上面配置 在/etc/vsftpd/user_list下加上
被拒绝访问ftp
用户登陆白名单
在vsftp配置文件中
在/etc/vsftpd/user_list加入westos用户
westos可以访问 lee 用户不能访问 说明在配置userlist_deny=NO后user_list就变成了白名单,除了名单上的用户其他都不能登录
锁定用户到自己的家目录中
用户可以访问整个文件系统,这显然不安全,更改配置文件中的chroot_local_user=YES
执行chmod u-w /home/*
此时用户被锁定在自己家目录
如果chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list 打开 则开启锁定用户到自己家目录白名单
此时lee可以访问整个文件系统,westos只能在自己家目录
如果chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list 打开 则开启锁定用户到自己家目录黑名单
此时westos可以访问整个文件系统,lee只能在自己家目录
虚拟用户访问
为了安全和节省资源ftp还提供了虚拟用户访问的方式
虚拟用户就是没有实际的真实系统用户,而是通过映射到其中一个真实用户以及设置
在ftp服务端在客户端访问时使用pam来验证用户名和密码
第一步 建立ftp虚拟用户列表,创建虚拟用户临时文件/etc/vsftpd/vuser…txt,新建虚拟用户和密码
第二步 生成Vsftpd虚拟用户数据库认证文件
第三步 配置PAM认证文件 新建/etc/pam.d/ftp_vuser
第四步 配置vsftpd 编辑/etc/vsftpd/vsftpd.conf
第五步 重启vsftpd 测试
客户端可以登录
服务端
设置虚拟用户家目录
先建立三个用户目录
在配置文件/etc/vsftpd/vsftpd.conf中加入
重启vsftp服务
虚拟用户配置独立
1,在/etc/vsftpd/vsftpd.conf中加入user_config_dir=/etc/vsftpd/user_config
注意先关闭匿名用户上传功能
2在 /etc/vsftpd/user_config/建立名为xiaoming的文件,文件名要与进行配置的用户名一致
3,在用户家目录下建立pub目录权限为775 所属组为虚拟用户宿主用户
4 测试