参考博客:
- FTP 服务器(一)之数据链路原理:http://blog.csdn.net/u011414200/article/details/50598134
- FTP 服务器(二)之vsftpd 服务器基础设定:http://blog.csdn.net/u011414200/article/details/50598154
- FTP 服务器(三)之客户端的图形接口 FTP 联机软件:http://blog.csdn.net/u011414200/article/details/50599794
- FTP 服务器(四)之实战搭建:http://blog.csdn.net/u011414200/article/details/50600554
- FTP 服务器(五)之客户端命令:http://blog.csdn.net/u011414200/article/details/50603307
FTP (File Transfer Protocol) 可说是最古老的协议之一了,主要是用来进行档案的传输,尤其是大型档案的传输使用 FTP 更是方便!不过,值得注意的是,使用 FTP 来传输时,其实是具有一定程度的『危险性』, 因为数据在因特网上面是完全没有受到保护的『明码』传输方式!但是单纯的 FTP 服务还是有其必要性的,例如很多学校就有 FTP 服务器的架设需求啊!
FTP (File transfer protocol) 是相当古老的传输协议之一,它最主要的功能是在服务器与客户端之间进行档案的传输。 这个古老的协议使用的是明码传输方式,过去有相当多的安全危机历史。为了更安全的使用 FTP 协议,我们主要介绍较为安全但功能较少的 vsftpd 这个软件吶。
一. FTP 功能简介
FTP 服务器的功能除了单纯的进行档案的传输与管理之外,依据服务器软件的设定架构,它还可以提供几个主要的功能。 底下我们约略的来谈一谈:
1.1 不同等级的用户身份:user, guest, anonymous
FTP 服务器在预设的情况下,依据使用者登入的情况而分为三种不同的身份,分别是: (1)实体账号,real user;(2)访客, guest;(3)匿名登录者, anonymous 这三种。这三种身份的用户在系统上面的权限差异很大喔!例如实体用户取得系统的权限比较完整, 所以可以进行比较多的动作;至于匿名登录者,大概我们就仅提供他下载资源的能力而已,并不许匿名者使用太多主机的资源啊! 当然,这三种人物能够使用的『在线指令』自然也就不相同啰! ^_^
1.2 命令记录与登录文件记录
FTP 可以利用系统的 syslogd 来进行数据的纪录, 而记录的数据报括了用户曾经下达过的命令与用户传输数据(传输时间、档案大小等等)的纪录呢! 所以你可以很轻松的在 /var/log/ 里面找到各项登录信息喔!
1.3 限制用户活动的目录: (change root, 简称 chroot)
为了避免用户在你的 Linux 系统当中随意逛大街 (意指离开用户自己的家目录而进入到 Linux 系统的其他目录去), 所以将使用者的工作范围『局限』在用户的家目录底下,嗯!实在是个不错的好主意!FTP 可以限制用户仅能在自己的家目录当中活动喔!如此一来,由于使用者无法离开自己的家目录,而且登入 FTP 后,显示的『根目录』就是自己家目录的内容,这种环境称之为 change root ,简称 chroot ,改变根目录的意思啦!
这有什么好处呢?当一个恶意的使用者以 FTP 登入你的系统当中,如果没有 chroot 的环境下,他可以到 /etc, /usr/local, /home 等其他重要目录底下去察看档案数据,尤其是很重要的 /