vsftpd(文件传输协议)服务

1、什么是FTP服务器?
FTP 是 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于 Internet 上的控制文件的双向传输。同时,它也是一个应用程序(Application)。 基于不同的操作系统有不同的 FTP 应用程序,而所有这些应用程序都遵守同一种协议以传输文件。
在 FTP 的使用当中,用户经常遇到两个概念:“下载”(Download)和"上传"(Upload)。
2、什么是vsftpd?
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、HP-UNIX 等系统上面,是一个完全免费的、开放源代码的 ftp 服务器软件,支持很多其他的FTP 服务器所不支持的特征。
一、vsftpd的安装
在这里插入图片描述
启动vsftpd服务:
在这里插入图片描述
关闭火墙,使其开机不启动
在这里插入图片描述
vsftpd服务开机自启动
在这里插入图片描述
selinux状态为Permissive
在这里插入图片描述
安装lftp
在这里插入图片描述
客户端访问时, 用户身份可以分为:
1). 匿名用户:没有指定用户身份, ftp身份实现从服务器上传和下载文件;
2). 本地用户: -u指定用户身份,用户是服务器端的用户;
3). 虚拟用户: -u指定用户身份,但是服务器端并不存在该用户(id username)

vsftpd文件信息
/var/ftp ##默认发布目录
/etc/vsftpd ##配置目录

二、vsftpd服务的配置参数
/etc/vsftpd/vsftpd.conf 文件,是 vsftp 的配置文件。
1)匿名用户的设定
在这里插入图片描述
<匿名用户的上传>
编辑配置文件,输入以下内容,然后重启服务:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建一个上传目录:
在这里插入图片描述
改变目录权限,使其属于ftp组:
在这里插入图片描述
使其具有w权限:
在这里插入图片描述
结果:
在这里插入图片描述
<匿名用户家目录修改>
编辑配置文件,输入以下内容:
在这里插入图片描述
我们在服务端的public目录下创建一个文件,验证是否修改了匿名用户的家目录:
在这里插入图片描述
在客户端远程连接查看:
在这里插入图片描述
结果显示加目录修改成功。
<匿名用户建立目录>
anon_mkdir_write_enable=YES|NO
<匿名用户下载>
anon_world_readable_only=YES|NO ##设定参数值为no表示匿名用户可以下载
<匿名用户删除>
anon_other_write_enable=YES|NO
编辑配置文件输入以下内容:
在这里插入图片描述
重启服务,在客户端进行测试:
在这里插入图片描述
<匿名用户使用的用户身份修改>
chown_uploads=YES
chown_username=student
chown_uploads_mode=0644
编辑配置文件,将匿名用户身份修改为student:
在这里插入图片描述

<最大上传速率>
anon_max_rate=102400
<最大链接数>
max_clients=2
编辑配置文件输入以下内容:
在这里插入图片描述
创建一个100M大小的文件,再去下载查看速度大小:
在这里插入图片描述
在这里插入图片描述
当连接服务端的用户大于限制的个数时,多余的用户不能建立连接,会出现以下情况:
在这里插入图片描述
2)本地用户的设定
local_enable=YES|NO ##本地用户登陆限制
write_enable=YES|NO ##本地用户写权限限制

在这里插入图片描述
能够登陆却没有上传权限:
在这里插入图片描述
本地用户不能登陆:
在这里插入图片描述
在这里插入图片描述
当修改为YES之后;
在这里插入图片描述
<本地用户家目录修改>
local_root=/directory
<本地用户上传文件权限>
local_umask=xxx

<限制本地用户登陆>
vim /etc/vsftpd/ftpusers ##用户黑名单
vim /etc/vsftpd/user_list ##用户临时黑名单
用户白名单设定
userlist_deny=NO
/etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp
本地用户黑名单:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本地用户白名单:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
3)ftp虚拟用户的设定
1 >前期准备工作
yum clean all
yum repolist
yum install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd
systemctl stop firewalld
systemctl disable firewalld
getenforce
setenforce 0
getenforce
vim /etc/sysconfig/selinux
SELINUX=disabled
2>创建虚拟帐号身份的文件(注意:不要出现空行或多余的空格)
vim /etc/vsftpd/loginusers ##文件名称任意
在这里插入图片描述
2). 对用户帐号和密码进行加密
db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db在这里插入图片描述
修改权限:
在这里插入图片描述
3). 编辑帐号和密码处理的库文件
vim /etc/pam.d/ckvsftpd ##文件名称任意
在这里插入图片描述
在这里插入图片描述
4). 配置vsftpd配置文件
vim /etc/vsftpd/vsftpd.conf
pam_service_name=ckvsftpd # 虚拟用户信息认证文件名称
guest_enable=YES # 虚拟用户开启
在这里插入图片描述
在这里插入图片描述
虚拟帐号身份指定
guest_username=ftpuser
chmod u-w /home/ftpuser
虚拟帐号家目录独立设定
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/ U S E R u s e r s u b t o k e n = USER user_sub_token= USERusersubtoken=USER
在这里插入图片描述
在这里插入图片描述

mkdir /ftpuserhome
chgrp ftpuser /ftpuserhome
chmod g+s /ftpuserhome
mkdir /ftpuserhome/ftpuser{1…3}在这里插入图片描述
虚拟帐号配置独立

案例实现目标:
1). ftpuser1用户上传和下载文件限速;

vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/conf.d
mkdir -p /etc/vsftpd/conf.d

在这里插入图片描述
在这里插入图片描述
vim /etc/vsftpd/conf.d/ftpuser1
在此文件中设定配置文件中的所有参数,此文件的优先级高
在这里插入图片描述
创建两个文件:
在这里插入图片描述
测试下载限速:
在这里插入图片描述
2). ftpuser2用户上传和下载文件不限速, 并且可以上传文件;
编辑配置文件写入以下内容:
vim /etc/vsftpd/conf.d/ftpuser2
write_enable=YES
anon_upload_enable=YES
在这里插入图片描述
创建目录,改变权限:
mkdir /ftp/ftpuser2/upload/
chown ftpuser /ftp/ftpuser2/upload/
systemctl restart vsftpd
在这里插入图片描述
测试文件上传:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值