概述
一.什么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服务
firewall-config ###配置防火墙,把ftp设置成永久,然后重载火墙
三.测试
/var/ftp/ 这意味着远程 FTP 客户端能以用户 anonymous 或 ftp 身份连接到服务器 (无需密码 ), 并从 ftp 服务器上的 /var/ftp/ 目录下载文件 ( 其本地 ftp 用户可以读取这些文件 )
首先我们在部署ftp服务的主机/var/ftp/下建立三个文件:
然后用另一台主机查看是否能看到共享文件
到这里就说明我们的ftp服务已经部署好了!
三.ftp服务的配置参数
/etc/vsftpd/vsftpd.conf ###配置文件
1.匿名用户设定
anonymous_enable=YES|NO ##匿名用户登陆限制
默认是YES,也就是允许匿名用户无密码登录,现在我们修改为NO(每次修改配置文件,都要重启服务),看看效果:
这时已经看不到共享的文件了,说明登录受限,我们再改回来,看看:
2.匿名用户上传
默认情况下,是禁止匿名用户上传文件的:
补充:
错误id号的含义
- 550 ###服务本身不允许
- 530 ###认证失败
- 553 ###没权限
- 500 ###权限过大
需要修改配置文件:
write_enable=YES
anon_upload_enable=YES
然后修改pub目录的组和权限
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub
setenforce 0 ### 设置加强型火墙
设置完后我们在试试:
3.匿名用户家目录修改
匿名用户登录ftp默认是在/var/ftp/,如果我们不想让匿名用户看到某些东西,可以修改匿名用户的家目录:
然后新建一些文件:
最后我们匿名登陆查看:
4.匿名用户上传文件权限修改
我们先看看匿名用户默认上传的权限是多少:
然后我们修改权限:
再上传文件看看权限:
下面列出部分umask权限(仅供参考):
umask值 | 目录 | 文件 |
---|---|---|
022 | 755 | 644 |
027 | 750 | 640 |
002 | 775 | 664 |
006 | 771 | 660 |
007 | 770 | 660 |
5.匿名用户建立目录
默认情况是拒绝的:
看到报错id是550,也就是服务不允许,我们修改配置文件如下:
再来试试创建目录:
发现此时就可以创建目录了
6.匿名用户下载
anon_world_readable_only=YES|NO ##设定参数值为no表示匿名用户可以下载
7.匿名用户使用的用户身份修改
chown_uploads=YES
chown_username=student
默认情况下,匿名用户上传的文件都是属于ftp,所以uid也就是14,当我们修改配置文件:
我们再此上传文件:
会发现uid变成1000,也就是我们设置的student的uid,成功的改变了匿名用户的用户身份
8.匿名用户最大上传速率
默认情况是不受限制的,为了限制匿名用户的上传速度我们做出以下修改:
暂且定为20k,看看效果:
我们捏了一个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
这次的介绍就到这里,欢迎大家一起讨论
最后
以上就是强健大白为你收集整理的Redhat7.0下部署 ftp文件共享服务的全部内容,希望文章能够帮你解决Redhat7.0下部署 ftp文件共享服务所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复