Redhat7.0下部署 ftp文件共享服务

一.什么ftp

FTP (文件传输协议 ) 是 Intenet 上常用的最老的网络协议之一 ,它为系统提供了通过网络与远程服务器进行传输的简单方法 。

在FTP的使用当中,用户经常遇到两个概念:”下载”(Download)和”上传”(Upload)。”下载”文件就是从远程主机拷贝文件至自己的计算机上;”上传”文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

二.部署ftp

安装、启用服务

在 Redhat Linux 7 中, FTP 服务器包的名称为 vsftpd,它代表 Very Secure File Transfer Protocol Damon , 服务名称也叫vsftpd。

yum install vsftpd -y ###安装ftp服务
systemctl start vsftpd ###开启ftp服务
systemctl enable vsftpd ###开机自启ftp服务

Redhat7.0下部署 ftp文件共享服务_第1张图片

Redhat7.0下部署 ftp文件共享服务_第2张图片

firewall-config ###配置防火墙,把ftp设置成永久,然后重载火墙

Redhat7.0下部署 ftp文件共享服务_第3张图片

三.测试

/var/ftp/ 这意味着远程 FTP 客户端能以用户 anonymous 或 ftp 身份连接到服务器 (无需密码 ), 并从 ftp 服务器上的 /var/ftp/ 目录下载文件 ( 其本地 ftp 用户可以读取这些文件 )

首先我们在部署ftp服务的主机/var/ftp/下建立三个文件:

Redhat7.0下部署 ftp文件共享服务_第4张图片

然后用另一台主机查看是否能看到共享文件

这里写图片描述

到这里就说明我们的ftp服务已经部署好了!

三.ftp服务的配置参数

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

1.匿名用户设定

anonymous_enable=YES|NO ##匿名用户登陆限制
默认是YES,也就是允许匿名用户无密码登录,现在我们修改为NO(每次修改配置文件,都要重启服务),看看效果:

Redhat7.0下部署 ftp文件共享服务_第5张图片

Redhat7.0下部署 ftp文件共享服务_第6张图片

这时已经看不到共享的文件了,说明登录受限,我们再改回来,看看:

Redhat7.0下部署 ftp文件共享服务_第7张图片

2.匿名用户上传

默认情况下,是禁止匿名用户上传文件的:

Redhat7.0下部署 ftp文件共享服务_第8张图片

补充:
错误id号的含义
- 550 ###服务本身不允许
- 530 ###认证失败
- 553 ###没权限
- 500 ###权限过大

需要修改配置文件:

write_enable=YES
anon_upload_enable=YES

这里写图片描述

然后修改pub目录的组和权限
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub

Redhat7.0下部署 ftp文件共享服务_第9张图片

setenforce 0 ### 设置加强型火墙

设置完后我们在试试:

Redhat7.0下部署 ftp文件共享服务_第10张图片

3.匿名用户家目录修改

匿名用户登录ftp默认是在/var/ftp/,如果我们不想让匿名用户看到某些东西,可以修改匿名用户的家目录:

这里写图片描述

然后新建一些文件:

Redhat7.0下部署 ftp文件共享服务_第11张图片

最后我们匿名登陆查看:

Redhat7.0下部署 ftp文件共享服务_第12张图片

4.匿名用户上传文件权限修改

我们先看看匿名用户默认上传的权限是多少:

这里写图片描述

然后我们修改权限:

这里写图片描述

再上传文件看看权限:

Redhat7.0下部署 ftp文件共享服务_第13张图片

下面列出部分umask权限(仅供参考):

umask值 目录 文件
022 755 644
027 750 640
002 775 664
006 771 660
007 770 660

5.匿名用户建立目录

默认情况是拒绝的:

Redhat7.0下部署 ftp文件共享服务_第14张图片

看到报错id是550,也就是服务不允许,我们修改配置文件如下:

这里写图片描述

再来试试创建目录:

Redhat7.0下部署 ftp文件共享服务_第15张图片

发现此时就可以创建目录了

6.匿名用户下载

anon_world_readable_only=YES|NO ##设定参数值为no表示匿名用户可以下载

7.匿名用户使用的用户身份修改

chown_uploads=YES
chown_username=student

默认情况下,匿名用户上传的文件都是属于ftp,所以uid也就是14,当我们修改配置文件:

这里写图片描述

这里写图片描述

我们再此上传文件:

Redhat7.0下部署 ftp文件共享服务_第16张图片

会发现uid变成1000,也就是我们设置的student的uid,成功的改变了匿名用户的用户身份

8.匿名用户最大上传速率

默认情况是不受限制的,为了限制匿名用户的上传速度我们做出以下修改:

这里写图片描述

暂且定为20k,看看效果:

Redhat7.0下部署 ftp文件共享服务_第17张图片

我们捏了一个10M的文件,上传发现速度只有20k/s,简直是龟速,不过我们的设置也算成功

9.最大连接数

默认情况下是不受限制的,但是这样不安全,人太多时会使ftp服务器速度变慢,甚至崩掉,所以当需要限制连接人数时,做以下修改:

这里写图片描述

这个限制数量根据你的服务器配置和你的需求决定

本地用户设定

注:本地用户修改就不再上图了

local_enable=YES|NO ##本地用户登陆限制
write_enable=YES|NO ##本地用户写权限限制

本地用户家目录修改

local_root=/directory

本地用户上传文件权限

local_umask=xxx

限制本地用户浏览/目录

所有用户被锁定到自己的家目录中
chroot_local_user=YES
chmod u-w /home/*

用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

用户白名单建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

限制本地用户登陆

vim /etc/vsftpd/ftpusers ##用户黑名单
vim /etc/vsftpd/user_list ##用户临时黑名单

用户白名单设定
userlist_deny=NO
/etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp

这次的介绍就到这里,欢迎大家一起讨论

你可能感兴趣的:(运维,互联网,文件传输,ftp,red,hat,计算机)