linux下搭建ftp服务

1. 什么是ftp?

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:“下载”(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

2. 安装并部署ftp服务相关软件

在rhrl7.5中提供ftp协议的软件为vsftpd所有先安装

yum install vsftpd
yum install lftp

在这里插入图片描述
开启ftp服务并添加到防火墙的白名单中,防止被拦截导致ftp开启失败

1. systemctl start vsftpd
2. systemctl enable vsftpd
3. firewall-cmd --permanent --add-service=ftp
4. firewall-cmd --reload 

在这里插入图片描述
这里看的出ftp已经进入防火墙批准名单
最后使用getenforce命令检查内核级防火墙是否开启如果未开启(Enforcing),编辑内核级防火墙配置文件

vim /etc/syconfig/selinux

将SELINUX=改为disabled
在这里插入图片描述

3. ftp基本服务

在这里插入图片描述

报错ID的解析

500 文件系统系统权限过大
530 用户认证失败
550 服务本身功能未开放

修改vsftp配置文件

vim /etc/vsftpd/vsftpd.conf 配置文件vsftpd.conf

在这里插入图片描述

1.本地用户
local_enable= YES | NO	本地用户是否可以登录
write_enable= YES | NO		ftp是否对登录用户可写
2.本地用户上传文件权限
local_umask=xxx

在这里插入图片描述

举例:

当我们设置本地用户禁止登录时

local_enable=NO
systemctl restart vsftpd		#重启服务
然后其他机在lftp访问本机时只能匿名用户(ftp)的登录,不可以使用本地用户

在这里插入图片描述
提示530表示禁止使用本地用户kiosk访问

3.本地用户家目录修改
local_root=/directory
举例:将目录修改到根目录下(/)
local_root=/
ystemctl restart vsftpd	#重启服务

在这里插入图片描述

在这里插入图片描述

4.限制本地用户浏览其他目录

chroot_local_user = YES
chmod u-w /home/*

匿名用户
anonymous_enable= YES | NO	匿名用户是否可以登录
1.匿名用户家目录修改

anon_root=/direcotry

2.匿名用户上传
vim /etc/vsftpd/vsftpd.conf
write_enable= YES		#确保在可写状态
anon_upload_enable=YES
chgrp ftp /var/ftp/pub		#给pub目录一个所属组ftp可以使用的缺陷
chmod 775 /var/ftp/pub	#增加可以写的权限

在这里插入图片描述

在这里插入图片描述
这样就已经成功了
在这里插入图片描述

3.匿名用户上传文件默认权限修改
anon_umask=xxx
4.匿名用户建立目录
anon_mkdir_write_enable= YES | NO
5.匿名用户下载
anon_world_readable_only= YES | NO 

YES时候,文件的其他人必须有读的权限才允许下载,若为NO则只要ftp用户对文件有读权限即可下载

6.匿名用户删除
anon_other_write_enable= YES | NO
7.匿名用户使用的用户身份修改
chown_uploads= YES
chown_username=student
最大上传速度
anon_max_rate=102400  #速率为bite/s

测试
先在要访问机新建一个大文件
在这里插入图片描述
然后lftp连接主机上传看速率多大
在这里插入图片描述
达到了737.46M这么可怕,如果不限速的话,经常传输大数据文件会损伤硬盘所以我们选择限速

vim /etc/vsftpd/vsftpd.conf 
添加:
anon_max_rate=102400

然后重启

systemctl restart vsftpd

这个时候我们再上传看一下速率
在这里插入图片描述
可以看到已经被限速到100k/s左右了

最大链接数
max_clients=2

猜你喜欢

转载自blog.csdn.net/qq_38840475/article/details/83594244