一 FTP的安装及启用
1 什么是FTP
FTP(File Transfer Protocol载,文件传输协议) 是 TCP/IP 协议组中的协议之一。
最主要的功能:用于Internet上的控制文件的双向传输。即在服务器与客户端之间进行文件的传输。
FTP协议包括两个组成部分:FTP服务器、FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
2.vsftpd的概念
vsftpd 是(very secure FTP daemon),安全性是它的一个最大的特点。vsftpd是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、HP-UNIX 等系统上面,是一个完全免费的、开放源代码的 ftp 服务器软件,支持很多其他的FTP 服务器所不支持的特征。
3 ftp的安装
步骤一:搜索并安装软件。
yum clean all
yum search ftp
yum install vsftpd.x86_64 lftp.x86_64 -y
步骤二:开启ftp服务,并设置防火墙状态。
步骤三: 查看该服务的配置文件
rpm -qc vsftpd 查看该服务的配置文件 /etc/vsftpd/vsftpd.conf
ftp服务的基本信息
软件安装包 vsftpd
默认发布目录 /var/ftp
协议接口 21/tcp
服务配置文件 /etc/vsftpd/vsftpd.conf
二 FTP基本安全部署
报错参数:
参数 | 报错原因 |
---|---|
530 | 表示认证失败 ,服务器不允许或者密码错误 |
550 | 表示服务本身的功能没有开启 |
553 | 表示权力过小或者所访问的服务器的文件系统有问题 |
500 | 服务本身认为我所操作的服务的权力过大 |
测试:
在配置文件/etc/vsftpd/vsftpd.conf当中修改配置参数,每次修改完配置文件重启才会生效
vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd ##重启vsftpd服务
部署示例
实验前先改变参数
12 anonymous_enable=YES | NO ##匿名用户是否可以登陆
16 local_enable=YES | NO ##本地用户是否可以登陆
16 write_enable=YES | NO ##ftp是否对登陆用户可写
三 匿名用户读写
匿名用户上传
29 anon_upload_enable=YES | NO 表示匿名用户是否能上传
匿名用户下载
anon_world_readable_only=NO | YES ## NO---可下载 | YES---不可下载
匿名用户建立目录、删除
anon_mkdir_write_enable=YES ##匿名用户建立目录
anon_other_write_enable=YES ##匿名用户删除目录。不包括上传和建立目录
匿名用户上传文件默认权限修改
anon_umask=022
匿名用户家目录修改
anno_root=/zxyos /*指定匿名用户登陆所处位置*/
最大上传速率
anon_max_rate=10240 ##最大上传速率为100K
最大链接个数
max_clients=2
三 本地用户的设定
local_enable=YES | NO ##本地用户登陆限制
write_enable=YES | NO ##本地用户写权限限制
本地用户家目录修改
注: 若不规定本地用户的家目录,则本地用户可以访问到 / 下所有的内容
本地用户上传文件权限、限制本地用户浏览/目录
注: 使用这个参数,需关闭家目录设置的参数
用户黑名单建立
用户白名单建立
永久设置本地用户黑名单
永久设置本地用户白名单设定
四 FTP 虚拟用户的设定
步骤一: 创建虚拟帐号身份的文件
vim /etc/vsftpd/loginusers ##存放帐号、密码
步骤二: 对用户帐号和密码进行加密
db_load -T -t hash -f user3 user3.db ##加密
步骤三: 编辑帐号和密码处理的库文件 ( 认证策略 )
vim /etc/pam.d/user3
步骤四: 配置vsftpd配置文件,并重启服务
pam_service_name=ftpuser
guest_enable=YES
guest_username=ftp
五 虚拟用户的家目录设定及授权独立
1. 虚拟帐号家目录独立设定
步骤一:为虚拟用户分别建立家目录,且在每个目录下建立一个/pub 目录,分别在不同用户的家目录下建立文件。
步骤二:修改 vsftpd 配置文件,并重启服务。
步骤三: 分别用dd、rr、nn可以登陆ftp服务器,发现在不同的家目录中,成功!