一、安装 proftpd
Debian 或 Ubuntu 管理员请打以下命令安装套件 proftpd:
- apt-get install proftpd
RHEL 和 CentOS 没有收录 proftpd 的套件,所以相关管理员需要引入 RPMforge 软件库:
RHEL 5/CentOS 5.x (i386)
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
RHEL 5/CentOS 5.x (x86_64)
rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
RHEL 4/CentOS 4.x (i386)
rpm -Uhv http://apt.sw.be/redhat/el4/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el4.rf.i386.rpm
RHEL 4/CentOS 4.x (x86_64)
rpm -Uhv http://apt.sw.be/redhat/el4/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el4.rf.x86_64.rpm
然后安装套件 proftpd:
- yum install proftpd
二、设定 proftpd
您需要一个使用者作为匿名使用者登入之用,一般都会使用使用者 ftp。如果您安装 Debian/Ubuntu 等的 proftpd 套件,系统会自动帮您建立使用者 ftp。
接者您可以在设定档 /etc/proftpd/proftpd.conf 或 /etc/proftpd.conf 加入以下设定:
- # 设定对应匿名使用者的 Unix/Linux 使用者和群组。这亦表示匿名使用者最多只可以存取
- # 使用者 ftp 和群组 nogroup 可以存取的档案。
- User ftp
- Group nogroup
- # 使用使用者名称 anonymous 登入等同使用者 ftp
- UserAlias anonymous ftp
- # 让所有档案在登入使用者眼中全属于使用者 ftp 和群组 ftp
- DirFakeUser on ftp
- DirFakeGroup on ftp
- RequireValidShell off
- # 限制最多 10 个匿名使用者可以同时登入
- MaxClients 10
- # 设定有使用者登入时自动显示的档案
- DisplayLogin welcome.msg
- # 设定有使用者进入目录时自动显示的档案
- DisplayFirstChdir .message
- # 限制不可以写入或修改 FTP 根目录以下的所有档案
- DenyAll
使用者 ftp 的 home directory (一般是 /home/ftp) 会成 FTP 根目录 (root directory),亦即是匿名使用者登入的目录。您只需要把要分享的档案放在此目录之下,就可以让公众下载。
您亦可以在 FTP 根目录上建立一个名称叫 welcome.msg 的文字档并把欢迎词或您的 FTP 服务器的简介放入档案。每当有人登入此匿名 FTP 服务器,proftpd 自然会显示 welcome.msg 的内容。以下是一个典型 welcome.msg 的内容:
Welcome, archive user %U@%R !
The local time is: %T
This is an experimental FTP server. If you have any unusual problems,
please report them via e-mail to .
此外,FTP 根目录以下每一个目录都可以建立一个名称叫 .message 的文字档简介目录中包含的档案,当有人透过匿名 FTP 服务器进入该目录 (cd 进入该目录) ,亦会自动显示 .message 的内容。
设定好后。可以打以命令重新启动 proftpd:
- /etc/init.d/proftpd restart
三、容许公众上载档案
想建立一个容许公众载档案,您需要先在 FTP 根目录建立一个供上载的目录 (一般叫作 Incoming) 并设定其权限:
- mkdir ~ftp/Incoming
- chown ftp:nogroup ~ftp/Incoming
- chmod 755 ~ftp/Incoming
接者您需要在 proftpd 的设定档 (一般为 /etc/proftpd/proftpd.conf 或 /etc/proftpd.conf) 中的匿名 FTP 加入容许上载至 ~ftp/Incoming 的设定,例如:
- ...
- ...
- # Umask 022 is a good standard umask to prevent new files and dirs
- # (second parm) from being group and world writable.
- Umask 022 022
- DenyAll
- AllowAll
设定好后。可以打以命令重新启动 proftpd:
- /etc/init.d/proftpd restart
【编辑推荐】