#安装gcc编辑依赖程序
yum -y install gcc gcc-c++ autoconf automake && yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel
#下载pureftp
wget --no-check-certificate hhttps://zxdowncom.oss-cn-shanghai.aliyuncs.com/package/pure-ftpd-1.0.42.tar.gz
如果提示:-bash: wget: command not found 请使用下面一条安装wget命令,再重新执行上面的下载
yum -y install wget
#解压
tar -zxvf pure-ftpd-1.0.42.tar.gz && cd pure-ftpd-1.0.42
#开始编译安装
./configure -prefix=/usr/local/pureftpd/ -with-language=english -with-everything
#开始安装
make && make check && make install
#建立相应的安装目录
mkdir /usr/local/pureftpd/etc
#把配置文件和主要执行文件拷到对应的文件夹下面
cp configuration-file/pure-ftpd.conf /usr/local/pureftpd/etc/ && cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/ && chmod 755 /usr/local/pureftpd/sbin/pure-config.pl
#定制一下系统的环境变量
cd /usr/local/bin/ && ln -s /usr/local/pureftpd/bin/* . && ln -s /usr/local/pureftpd/sbin/* /usr/local/sbin/ && ln -s /usr/local/pureftpd/man/man8/* /usr/local/share/man/man8/
#启动pureftp服务器
pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
#创建用户,用户组
useradd -d /home/www -s /sbin/nologin www
#创建完成以后可以以下命令来查看组和用户是否已经创建好了
cat /etc/passwd
cat /etc/group
#进入pure-ftpd/bin/目录添加ftp虚拟用户
/usr/local/pureftpd/bin/pure-pw useradd abc -u www -d /www/web/www.test.com/public_html
如果添加完成以后想要删除可以使用/usr/local/pureftpd/bin/pure-pw userdel test这条指令
想要修改密码可以使用/usr/local/pureftpd/bin/pure-pw passwd test这条指令
查看用户信息
/usr/local/pureftpd/bin/pure-pw show abc
#修改配置文件
vi /usr/local/pureftpd/etc/pure-ftpd.conf
#大约在20行
ChrootEveryone yes //每个用户进入都会呆在自己的目录中
#大约在71行
AnonymousOnly no //仅仅允许匿名
#大约在77行
NoAnonymous yes //不允许匿名用户
#大约在126行
PureDB /usr/local/pureftpd/etc/pureftpd.pdb //虚拟用户数据库
#大约在280行
AnonymousCantUpload yes //不允许匿名用户上传
#大约在336行
CreateHomeDir yes //用户主目录不存在的话,自动创建。
#大约在448行
IPV4Only yes //只允许使用IPV4协议
#大约在280行
PassivePortRange 9000 9045 //打开被动模式;与开放端口区间有关
第二种形式做已经配置好的信息直接覆盖
先备份原有的配置文件
#cp /usr/local/pureftpd/etc/pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf.bak
清空配置信息
#echo ''>/usr/local/pureftpd/etc/pure-ftpd.conf
#vi /usr/local/pureftpd/etc/pure-ftpd.conf
# pure-ftpd.conf
Bind 21
ChrootEveryone yes
BrokenClientsCompatibility no
MaxClientsNumber 100
Daemonize yes
MaxClientsPerIP 30
VerboseLog no
DisplayDotFiles yes
AnonymousOnly no
NoAnonymous yes
SyslogFacility ftp
DontResolve yes
MaxIdleTime 15
LimitRecursion 100000 8
AnonymousCanCreateDirs no
MaxLoad 4
AntiWarez yes
Umask 133:022
MinUID 100
AllowUserFXP no
AllowAnonymousFXP no
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
AutoRename no
AnonymousCantUpload no
MaxDiskUsage 99
CustomerProof yes
AllowOverwrite on
AllowStoreRestart on
UnixAuthentication yes
PassivePortRange 20000 20500
PureDB /usr/local/pureftpd/etc/pureftpd.pdb
#重新生成数据库文件
/usr/local/pureftpd/bin/pure-pw mkdb
#先把之前的pureftp服务kill掉
killall pure-ftpd
#重新启动pure-ftpd
/usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
#防火墙
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 801 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9000:9045 -j ACCEPT
service iptables restart
#添加开机自动启动
vi /etc/init.d/pure-ftpd
#!/bin/bash
#
# Startup script for the pure-ftpd FTP Server $Revision: 1.3 $
#
# chkconfig: 2345 85 15
# description: Pure-FTPd is an FTP server daemon based upon Troll-FTPd
# processname: pure-ftpd
# pidfile: /var/run/pure-ftpd.pid
# config: /etc/pure-ftpd.conf
# Source function library.
. /etc/rc.d/init.d/functions
RETVAL=0
# Path to the pure-ftp binaries.
prog=pure-config.pl
fullpath=/usr/local/pureftpd/sbin/$prog
conf=/usr/local/pureftpd/etc/pure-ftpd.conf
pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho
start() {
echo -n $"Starting $prog: "
$fullpath $conf --daemonize
RETVAL=$?
[ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
echo
}
stop() {
echo -n $"Stopping $prog: "
kill $(cat /var/run/pure-ftpd.pid)
RETVAL=$?
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
condrestart)
if [ -f /var/lock/subsys/$prog ] ; then
stop
# avoid race
sleep 3
start
fi
;;
status)
status $prog
RETVAL=$?
if [ -f $pureftpwho ] && [ $RETVAL -eq 0 ] ; then
$pureftpwho
fi
;;
*)
echo $"Usage: $prog {start|stop|restart|condrestart|status}"
RETVAL=1
esac
exit $RETVAL
#修改文件权限
chmod a+x /etc/init.d/pure-ftpd
最后将ngix加入到rc.local文件中,这样开机的时候pureftpd 就默认启动了
vi /etc/rc.local
#加入启动
/etc/init.d/pure-ftpd start
#查看一下虚拟用户列表文件
cat /usr/local/pureftpd/etc/pureftpd.passwd
期待你的留言
已有( 0 )条评论*验证码: