一键脚本——pure-ftpd的安装和配置
作者:csuper
发表于:2016-03-13
安装与配置

为了今后安装配置方便,特意写了一个shell脚本,具体内容如下。
#!/bin/sh#description: installing pure-ftpd-1.0.36 package# and setting some items of configure file#author: i@xuzeshui.com#date: 2014-04-23#cd /usr/local/src wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.36.tar.gz tar -xvf pure-ftpd-1.0.36.tar.gz cd pure-ftpd-1.0.36./configure --prefix=/usr/local/pure-ftpd-1.0.36 --with-virtualchroot --with-everything --with-puredb make make install mkdir -p /usr/local/pure-ftpd-1.0.36/etc/cp ./configuration-file/pure-ftpd.conf /usr/local/pure-ftpd-1.0.36/etc/cp ./configuration-file/pure-config.pl /usr/local/pure-ftpd-1.0.36/bin/chmod a+x /usr/local/pure-ftpd-1.0.36/bin/pure-config.pl cd /usr/local/ln -s pure-ftpd-1.0.36 pure-ftpd/usr/local/pure-ftpd-1.0.36/bin/pure-config.pl /usr/local/pure-ftpd-1.0.36/etc/pure-ftpd.conf echo "/usr/local/pure-ftpd-1.0.36/bin/pure-config.pl /usr/local/pure-ftpd-1.0.36/etc/pure-ftpd.conf" >> /etc/rc.d/rc.localsed -i 's#MinUID 100#MinUID 98#g' /usr/local/pure-ftpd-1.0.36/etc/pure-ftpd.conf sed -i 's/MaxClientsNumber 50/MaxClientsNumber 1000/g' /usr/local/pure-ftpd-1.0.36/etc/pure-ftpd.conf sed -i 's/# TrustedGID 100/TrustedGID 99/g' /usr/local/pure-ftpd-1.0.36/etc/pure-ftpd.conf sed -i 's/MaxClientsPerIP 8/MaxClientsPerIP 200/g' /usr/local/pure-ftpd-1.0.36/etc/pure-ftpd.conf sed -i 's/AllowUserFXP no/AllowUserFXP yes/g' /usr/local/pure-ftpd-1.0.36/etc/pure-ftpd.conf sed -i 's/MaxDiskUsage 99/MaxDiskUsage 97/g' /usr/local/pure-ftpd-1.0.36/etc/pure-ftpd.conf sed -i 's/# PassivePortRange 30000 50000/PassivePortRange 30000 50000/g' /usr/local/pure-ftpd-1.0.36/etc/pure-ftpd.conf sed -ir '/\/etc\/pureftpd.pdb/a\PureDB /usr/local/pure-ftpd/etc/pureftpd.pdb' /usr/local/pure-ftpd-1.0.36/etc/pure-ftpd.conf
几点说明:
1、由于是开启虚拟用户(即用户是只登陆ftp,与系统用户分开),所以编译的时候加上参数 –with-puredb,否则创建用户后登陆分发现”530 Login authentication failed” 错误。该错误的原因主要是虚拟用户使用了 /usr/local/pure-ftpd/etc/pureftpd.pdb 文件,该文件路径在pure-ftpd.conf中有。
2、PassivePortRange指定了被动连接的端口范围,同样需要跟21端口一样,开启防火墙通过。
3、由于后面ftp用户创建使用nobody:nobody,该系统角色ID为99,所以调整MinUID,让99允许,当然也可以自己新创一个用户名和组。
使用ftp
安装后创建用户,比如创建blog这个用户登陆ftp,则进入安装目录的bin下使用 pure-pwd这个工具,具体参数可以看帮助。
./pure-pw useradd blog -u99 -g99 -d /data/vhosts/blog.xuzeshui.com
上述命令创建了一个ftp用户名为blog,-u -g分别设置用户的归属,由于配置的时候配置到nobody:nobody,所以为99, -d为用户所在的主目录,同时注意该目录也要有有权限。
更改配置和修改用户后,请一定使用 pure-pw mkdb 提交更改,否则是不会生效的。
版权声明
本文仅代表作者观点,不代表Csuper立场。
本文系作者授权百度百家发表,未经许可,不得转载。