FTP服务器的配置与管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FTP服务器的配置与管理相关的知识,希望对你有一定的参考价值。
一 FTP 简介:
1 FTP的数据链路原理:
FTP(file transfer protocol)是相当古老的协议之一,他的主要功能是在服务器与客户端之间进行档案的传输,这个古老的协议使用的是明码传输的方式,且过去有相当多的安全危机,为了更安全的使用FTP协议,vsftpd登上历史舞台
2 FTP功能简介:
FTP服务器的功能处理单纯的进行档案的传输与管理之外,一句服务器软件的设定架构,它可以提供几个主要功能,
不同等级的用户身份:user ,guest , anonymous
FTP服务器在预设情况下,依据使用者登录的情况分为三类:
A 实体账号 real user
B 访客 guest
C 匿名登录者 anonymous
实体用户取得系统的权限比较完成,所以可以进行比较多的动作,至于匿名者登录,大概只会拥有下载文件的能力权限而已,
命令记录与登录文件记录:
FTP可以利用系统的syslogd 来进行数据的记录,而记录的数据包括了用户曾经下达过的命令与用户传输数据(传输时间、档案大小)等的记录,所以你可以在/var/log中找到各项登录记录信息。
限制用户活动的目录:(change root,简称 chroot)
3 FTP的运行流程与使用到的端口
FTP的传输使用的是TCP封包协议,
FTP的联机流程:
A 建立命令通道的联机
客户端会随机去一个大于1024以上的端口来与FTP服务器的port 21 达成联机,这个过程需要TCP的三次握手,达成联机后客户端便可以透过这个联机来对FTP服务器下达命令,包括查问文件名、下载、上传等指令都是利用这个通道完成的
B 通知FTP服务器端使用active且告知链接的端口
FTP服务器的21端口主要用在命令的下达,但是当涉及数据流时,就不是使用这个联机了,客户端在需要数据的情况下,会告知服务器端要用什么方式来联机,如果是主动式(active)联机时,客户端会先随机启用一个端口,且通过命令通道告知FTP服务器这两个信息,并等待服务器的联机
C FTP服务器(主动)向客户端联机
FTP服务器由命令通道了解了客户端的需求后,会主动的由20端口向客户端的port端口联机,此时FTP客户端与服务器共会建立两条联机,分别用在命令的下达与数据的传递,而预设FTP服务器端使用主动联机的端口号就是 20
FTP的传输会使用两个信道,命令信道和数据信道,而数据信道是在有数据传输的行为时才会建立的通道,并不是一开始连接到FTP服务器就立刻建立的通道。
主动式联机使用到的端口:
命令通道ftp(默认是port 21)与 数据传输的 ftp-data (默认为 port 20)
port 21端口主要是接受来自客户端的主动联机
port 20 端口则为FTP服务器主动连接至客户端
客户端选择被动式(passive)联机模式:
被动模式就是由客户端向服务器端发起联机,既然有客户顿啊发起联机,那自认就不需要考虑来自 port 20 的联机了。
A 用户与服务器建立命令信道:
同样需要建立命令通道,透过三次握手的就可以建立起这个通道了。
B 客户端发出PASV的联机要求
当有使用数据信道的指令时,客户端可透过命令通道发出PASV的被动式联机要求(passive),并等待服务器的回应。
C FTP服务器启动数据端口口,并通知客户端联机
如果FTP服务器是能够处理被动式联机,此时FTP服务器会先启动一个端口来监听,这个端口号可能是随机的,也可以自定义某一范围的端口,然后你的FTP服务器会透过命令通道告知客户端已经启动的端口,并等待客户端的联机
D 客户端随机取用大于1024的端口进行连接
被动式的数据信道的联机方向是由客户端向服务器端联机的
被动式是客户端连接服务器端进行数据传输
主动式是服务器连接客户端进行数据传输
FTP服务器的安装与测试
关闭防火墙,关闭selinux
FTP的安装:
测试:需要装lftp客户端
配置文件位置:
默认发布目录位置:
测试
1 匿名用户的登录与上传
默认的,匿名用户不能上传:
修改为匿名用户可以上传:
vsftp在创建时会创建一个默认用户ftp和组ftp 将目录的所属组加入ftp中,并配置为可执行
重启服务:
测试上传:
匿名用户家目录的修改
将其家目录修改为/aaa
测试
查看是否成功
匿名用户可以建立目录
先将其匿名访问目录恢复
删除原有的anon_root=/aaa的配置
默认情况下,匿名用户不具备创建目录权限
修改配置文件
重启服务
进行测试:
匿名用户下载
默认匿名用户不能下载
修改配置文件,此指令配置文件中不存在,需自己进行创建
重启服务
测试
匿名用户的删除操作
默认情况下。匿名用户不具有删除操作
修改配置文件
匿名用户使用的用户身份修改:默认的用户身份是ftp
本地用户的设定:
本地用户登录限制
默认情况下本地用户可以登录:
配置本地用户不能登录
本地用户写权限限制
将登录权限恢复
默认本地用户具有写权限
修改写权限,使之不能写
恢复:
限制本地用户浏览自己的家目录
默认可以浏览所有的目录
限制在家目录中
给予权限,否则不能登录成功
用户黑名单的建立:(作用是使加入黑名单的用户被锁定在自己的家目录中,而未加入黑名单的用户仍可访问根目录下的内容)
其mysql用户可以访问根目录下的东西,而admin用户只能访问自己家目录下的东西
用户白名单的建立
此时只有admin用户在白名单之中,因此MySQL用户不能登录成功
将MySQL用户加入白名单中:
、
此时MySQL用户可以进行访问
限制本机用户登陆:
此时只限制admin用户的登录,而对MySQL用户,则不做限制:
将MySQL用户加入临时黑名单中,(其可以随着配置文件的改变而由黑名单变为白名单)
用户白名单的建立:
以上是关于FTP服务器的配置与管理的主要内容,如果未能解决你的问题,请参考以下文章