Linux下glftpd搭建FTP服务器

来源:互联网 发布:协同过滤算法java实现 编辑:程序博客网 时间:2024/05/28 15:07

 一、前言

 

    Linux 上有好不少软件能够搭建 FTP,例如 vsftpd、glftpd、proftpd 等。

 

    vsftpd 是和 Linux 系统上用户管理一样的。所有的用户管理都是在现有宿主系统上的用户以及组管理相同。文件权限上的管理也是和 Linux 一模一样。在搭建上比较快,简单方便。

 

    glftpd 类似于一个封闭的小系统,除了支持标准 FTP 指令外,还能利用 site 指令集进行用户管理、站点管理等等。整个系统可以方便的移植使用,它拥有自己的一套用户和组管理,和宿主系统的用户和组管理完全分离。站长在使用的时候完全可以依赖 FTP 客户端进行,不必深入了解 Linux 命令。

 

二、准备

 

    目前使用 ubuntu 发行版较多,以此为例进行下面的介绍。

 

    1.安装 xinetd

 

    glftpd 基于 Internet 服务管理,有自己的端口号进行访问,所以事先需要安装一个 Internet 服务管理的工具。xinetd 是个较好的选择。可以通过源进行安装。

 

sudo apt-get install 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 即可。

 

    运行安装脚本

./installgl.sh

 

上来是一些 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 主机上的管理员才能登录。

 

    登录方法:

 

ftp localhost 8002

 

8002 是端口号,当初设的什么端口号就用什么。

 

    网上关于 glftpd 的账号设置挺多的,我引一下 cr327 的帖子 http://www.bitunion.org/viewthread.php?tid=10106545,上面是比较全的设置,直接 cp 过来使用就行了。稍微改改参数即可。一楼回复的是命令的含义。

 

五、维护

 

    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 一行注释掉即可 

 

原创粉丝点击