最近用到了pure-ftp,安装后出现些问题,很是麻烦了一番,如下记录安装过程及注意事项!

环境:centos 5.5 32位

安装过程:

#tar -xzf pure-ftpd-1.0.24.tar.gz

#cd pure-ftpd-1.0.24

#./configure --prefix=/usr/local/pure-ftpd-1.0.24 --with-everything && make && make install

#cd configuration-file/

#cp pure-config.pl /usr/local/pure-ftpd-1.0.24/bin/

#mkdir -p /usr/local/pure-ftpd-1.0.24/etc/

#cp pure-ftpd.conf /usr/local/pure-ftpd-1.0.24/etc/

#chmod u+x /usr/local/pure-ftpd-1.0.24/bin/pure-config.pl

#groupadd ftpgroup

#useradd ftpuser -g ftpgroup -d /dev/null -s /sbin/nologin

#vi /usr/local/pure-ftpd-1.0.24/etc/pure-ftpd.conf

下面为配置文件:

ChrootEveryone              yes
BrokenClientsCompatibility  no
#最大客户端数
MaxClientsNumber            50
Daemonize                   yes
#最大连接IP数
MaxClientsPerIP             8
VerboseLog                  no
DisplayDotFiles             yes
AnonymousOnly               no
NoAnonymous                 yes
SyslogFacility              ftp
DontResolve                 yes
MaxIdleTime                 15
#虚拟用户所在的DB文件路径一定要对
PureDB                      /usr/local/pure-ftpd-1.0.24/etc/pureftpd.pdb
LimitRecursion              10000 8
AnonymousCanCreateDirs      no
MaxLoad                     4
AntiWarez                   yes
#ftp的IP地址和端口设置
Bind                        IP,21
Umask                       133:022
#设置刚才新添加的用户的UID
MinUID                      500
AllowUserFXP                no
AllowAnonymousFXP           no
ProhibitDotFilesWrite       no
ProhibitDotFilesRead        no
AutoRename                  no
AnonymousCantUpload         no
#ftp默认的磁盘使用率 99%
MaxDiskUsage               99
CustomerProof              yes

修改后保存。

#cd /usr/local/pure-ftpd-1.0.24/bin/

#vi pure-config.pl

把开头部分

my $PUREFTPD;
-x && ($PUREFTPD=$_, last) for qw(
        ${exec_prefix}/sbin/pure-ftpd
        /usr/local/pure-ftpd/sbin/pure-ftpd
        /usr/local/pureftpd/sbin/pure-ftpd
        /usr/local/sbin/pure-ftpd
        /usr/sbin/pure-ftpd
);

修改成

my $PUREFTPD;
-x && ($PUREFTPD=$_, last) for qw(
        ${exec_prefix}/sbin/pure-ftpd
        /usr/local/pure-ftpd-1.0.24/sbin/pure-ftpd
);

保存退出。

#chmod 755 pure-config.pl

ftp是虚拟用户,这个用户的ftpdir属主必须是ftpuser,否则会没有权限,-m必须加,是为了添加进pureDB文件,不然建立的passwd文件,会不正常,没法让用户登录。

#./pure-pw useradd ftp -u500 -g500 -d /opt/ -m
Password:
Enter it again:

虚拟用户生成的passwd文件在安装目录的etc的pureftpd.passwd,其目录OPT也必须有UID 500用户读写权限,然后建立pureDB文件

#./pure-pw mkdb

查看新建的虚拟用户信息

#./pure-pw show ftp

启动pure-ftp服务进程

#./pure-config.pl /usr/local/pure-ftpd-1.0.24/etc/pure-ftpd.conf

命令执行后应该提示:

Running: /usr/local/pure-ftpd-1.0.24/sbin/pure-ftpd -A -B -C8 -D -fftp -H -I15 -lpuredb:/usr/local/pure-ftpd-1.0.24/etc/pureftpd.pdb -L10000:8 -m4 -s -SIP,21 -U133:022 -u500 -k99 -Z

验证ftp正常工作

#netstat -anultp|grep ftp

#ps aux|grep ftp

在windows或linux字符行下执行

ftp 你的ftp server IP

User (192.168.1.230:(none)):

如果配置没错应该出:

331 User ftp OK. Password required

输入你用户密码

Password:

正常登陆的信息为:

230-User zs has group access to:  500 (虚拟用户所使用的linux用户UID号)
230 OK. Current directory is /
ftp>

如果没有好好检查以上步骤,再来一遍吧!