一、前言
Linux 上有好不少软件能够搭建 FTP,例如 vsftpd、glftpd、proftpd 等。
我用过 vsftpd ,其他的不熟悉。看到 cr327 都是用 glftpd 建站,经过我的使用以及体会,发现 glftpd 在 FTP 管理上的确适合 BitUnionFTP,简短介绍一下选择 glftpd 做 BitUnionFtp 的原因。
vsftpd 是和 Linux 系统上用户管理一样的。所有的用户管理都是在现有宿主系统上的用户以及组管理相同。文件权限上的管理也是和 Linux 一模一样。在搭建上比较快,简单方便。但是对于 BitUnionFTP 账号及限速管理上不是很方便。
glftpd 类似于一个封闭的小系统,除了支持标准 FTP 指令外,还能利用 site 指令集进行用户管理、站点管理等等。整个系统可以方便的移植使用,它拥有自己的一套用户和组管理,和宿主系统的用户和组管理完全分离。站长在使用的时候完 全可以依赖 FTP 客户端进行,不必深入了解 Linux 命令。
二、准备
目前使用 ubuntu 发行版较多,以此为例进行下面的介绍。
1.安装 xinetd
glftpd 基于 Internet 服务管理,有自己的端口号进行访问,所以事先需要安装一个 Internet 服务管理的工具。xinetd 是个较好的选择。可以通过源进行安装。
安装之后会自动启动 xinetd。
2.下载 glftpd 安装包
glftpd 目前最新的版本是 2.01,2005-12-25 号更新。直接从网络上下载即可。
代码: | [复制到剪贴板] |
- wget http://www.glftpd.com/files/glftpd-LNX_2.01.tgz
| |
如果其他发行版请到 http://www.glftpd.com/ 按需下载。
下载完成后进行解压,并进入解压后的目录。
代码: | [复制到剪贴板] |
- tar xvf glftpd-LNX_2.01.tgz
- cd glftpd-LNX_2.01/
| |
准备工作完成。
三、安装
安装之前,需要取得 root 权限。可以利用 sudo -i 或者 su 的方式获得。后文均为取得 root 权限后的执行命令。
安装过程比较简单,有详细的安装脚本,只是询问一些安装的选项,按需选择即可。如果想取消安装按 Ctrl + C 即可。
运行安装脚本
上来是一些 glftpd 的介绍,提示按 enter 继续。
(1)TCPD SETUP。 这个我不知道做什么的,网上说是禁 IP 用的,具体我没用过,直接 Y 安装。
(2)JAIL SETUP。 是否安装到一个封闭的环境?我们选择 Y ,为了今后方便管理,这样整个安装好的 glftpd 就是个独立的小系统,可以随意 cp 到新地方使用,而保证用户信息账号设置以及日志文件都保留和继承下去。接着会问需要安装到什么地方?可以放到 /srv 目录下以访问端口号命名文件夹,比如我设置的就是 /srv/8002。也就是说 glftpd 就会安装到 /srv/8002 这个文件夹之下了。是否安装私有组,设置组名称,和有哪些用户在这个私有组中?这些用户和组设置是和宿主系统相关的。也就是说在设定该权限内的用户才可以 修改 glftpd 的文件。事实上就是宿主系统上除 root 用户以外的用户对 glftpd 的修改权限。直接 enter 过去就行了。因为在安装之后都能够通过 root 用户重新设置或者修改。
(3)GLFTPD BASE SETUP。 选择 glftpd 在封闭环境中的路径,默认的 /glftpd 即可,直接 enter 。
(4)SERVICE SETUP & MULTI-INSTALL。 这里会让你输入一个服务名,用于写在 /etc/services 文件中,可以随意起。我这里选择的还是端口号命名,输入 8002,目的是方便记忆和管理。因为我没选择默认的 glftpd 作为服务名,又蹦出来一个 ipc_key ,我随便选了一个。
(5)COMPILING SOURCES & COPYING LIBS。 编译源码和复制库文件。没有我们的事。
(6)PORT AND SYSTEM SETUP。 端口选择,输入 8002。服务管理,由于之前装了 xinetd,按 X ,回车。接着会问是否把周一设为星期的开始,这个随意选择。
(7)SSL/TLS SETUP。 我是一路回车过去的。具体没怎么研究,就是一些欢迎信息之类的。可以以后再修改。
(8)STARTING GLFTPD。 这步脚本自动替我们完成了。不用管了。
(9)FINISH。 大功告成。指出了一些说明文档的具体位置。
四、设置账号
glftpd 默认有一个高级管理员账户,用户名密码均为 glftpd 。默认设置为只能本地登录,也就是说只有 glftpd 主机上的管理员才能登录。
登录方法:
8002 是端口号,当初设的什么端口号就用什么。
网上关于 glftpd 的账号设置挺多的,我引一下 cr327 的帖子 http://www.bitunion.org/viewthread.php?tid=10106545 ,上面是比较全的设置,直接 cp 过来使用就行了。稍微改改参数即可。一楼回复的是命令的含义。
五、维护
aibu2 不幸风扇挂了,恰逢我需要主机开个新站,cr327 将修复这台机器的光荣任务交给了我。趁此机会,我又了解了一下比较合理的 glftpd 文件结构。
glftpd 可以安装在任何一个位置,但是为了更好的管理和方便移植,我们可以采取这样的方式。以 aibu2 举例,上面跑了三个 ftp 站点。/srv 目录挂载了一块 A 硬盘上的 1 分区,三个站的 glftpd 装在 /srv 目录下,以端口号命名。通过 mount 挂载,将 A 硬盘的其他分区 mount 到不同 glftpd 下的 site 目录即可。或者将 B 硬盘 C 硬盘等 mount 到 site 目录也可。这样做到了配置和数据的分离,易于维护。
谈谈恢复 ftp 服务,前期有几个工作需要做。
1.记下 /etc/services 中的 ftp 端口号。(<服务名> <端口>/tcp)
2.备份在 /etc/xinetd.d/ 目录下除 chargen、daytime、discard、ehco、time 以外的配置文件。
3.备份 glftpd 的安装文件。
恢复的时候添加相应的端口号到 /etc/services 文件中,复制 xinetd 备份文件到 /etc/xinetd.d/ 目录中。mount glftpd 目录到 /srv。
如果新 mount 的位置和移植前不同,可以修改 /etc/xinetd.d/ 中的配置文件,文件名就是服务名。文件中 server_args 就是路径位置,略作修改。
引用: |
想上传中文文件,需将 .conf 文件中 path-filter 一行注释掉即可 | |