Centos7 配置FTP服务

简介

使用pureftpd搭建FTP服务

Pure-FTP:官方网站

一、下载安装
# 安装依赖
yum install -y openssl openssl-devel
# 创建并进入下载目录
mkdir -p /home/softs && cd /home/softs
# 下载源码包  https://download.pureftpd.org/pub/pure-ftpd/releases/
wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.49.tar.gz
# 解压
tar -zxvf pure-ftpd-1.0.49.tar.gz
# 进入目录
cd pure-ftpd-1.0.49
# 配置 参考:https://download.pureftpd.org/pub/pure-ftpd/doc/README
./configure --prefix=/usr/local/pureftpd CFLAGS=-O2 --with-puredb --with-quotas --with-cookie --with-virtualhosts --with-diraliases --with-sysquotas --with-ratios --with-altlog --with-paranoidmsg --with-shadow --with-welcomemsg --with-throttling --with-uploadscript --with-language=english --with-rfc2640 --with-ftpwho --with-tls
# 编译安装
make
make install
二、配置
# 修改配置文件
vi /usr/local/pureftpd/etc/pure-ftpd.conf
# 修改
# AnonymousCantUpload     拒绝匿名用户上传
AnonymousCantUpload          yes

# 末尾增加
# 用户数据库
PureDB                       /usr/local/pureftpd/etc/pureftpd.pdb
# 被动模式端口
PassivePortRange             30000 50000
# PID文件
PIDFile                      /var/run/pure-ftpd.pid
# 创建init.d文件
vi /etc/init.d/pureftpd

/etc/init.d/pureftpd内容:

#!/bin/bash
#
# chkconfig: 2345 85 15
# description: Pure-FTPd is an FTP server daemon based upon Troll-FTPd
# processname: pure-ftpd

### BEGIN INIT INFO
# Provides:          pureftpd
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts pureftpd server
# Description:       starts pureftpd server
### END INIT INFO


# Pure-FTPd Settings
PURE_FTPD="/usr/local/pureftpd/sbin/pure-ftpd"
PURE_CONF="/usr/local/pureftpd/etc/pure-ftpd.conf"
PURE_PID="/var/run/pure-ftpd.pid"
RETVAL=0
prog="Pure-FTPd"

start() {
    echo -n $"Starting $prog... "
    $PURE_FTPD $PURE_CONF
    if [ "$?" = 0 ] ; then
        echo " done"
    else
        echo " failed"
    fi
}

stop() {
    echo -n $"Stopping $prog...  "
    if [ ! -f "$PURE_PID" ]; then
        echo -n $"$prog is not running."
        exit 1
    fi
    kill `cat $PURE_PID`
    if [ "$?" = 0 ] ; then
        echo " done"
    else
        echo " failed"
    fi
}

restart(){
    echo $"Restarting $prog..."
    $0 stop
    sleep 2
    $0 start
}

status(){
    if [ -f "$PURE_PID" ]; then
        echo $"$prog is running."
    else
        echo $"$prog is not running."
    fi
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        restart
        ;;
    status)
        status
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart}"
esac

# 修改权限
chmod +x /etc/init.d/pureftpd
# 创建密码文件
touch /usr/local/pureftpd/etc/pureftpd.passwd
# 创建数据库文件
touch /usr/local/pureftpd/etc/pureftpd.pdb
# 启动
/etc/init.d/pureftpd start
# 设置开机自动启动
chkconfig pureftpd on
# 创建用户管理软连接
ln -s /usr/local/pureftpd/bin/pure-pw /bin/pure-pw
三、创建用户

pureftp的用户是映射系统用户的,所以建立两个系统用户一个只读一个可写

# 创建FTP目录
mkdir -p /home/ftp_root
# 创建用户组
groupadd ftpusers
# 创建两个用户
useradd ftpread -g ftpusers -d /home/ftp_root -s /sbin/nologin
useradd ftpwrite -g ftpusers -d /home/ftp_root -s /sbin/nologin
# 设置目录所属
chown ftpwrite:ftpusers /home/ftp_root/
# 设置权限 所属用户可写 所属组只读
chmod 755 /home/ftp_root/
# 创建pureftp虚拟用户 管理员 使用-u映射读写权限系统用户
pure-pw useradd admin -u ftpwrite -g ftpusers -d /home/ftp_root/
# 创建pureftp虚拟用户 访客 使用-u映射只读权限系统用户
pure-pw useradd guest -u ftpread -g ftpusers -d /home/ftp_root/
# 创建用户数据库
pure-pw mkdb
# 查看用户
pure-pw list
# 配置匿名用户目录
usermod -d /home/ftp_root ftp
四、配置防火墙
# 启动服务
systemctl start firewalld.service
# 放行20 21 30000-50000端口
firewall-cmd --zone=public --add-port=20/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=30000-50000/tcp --permanent
# 重载配置
firewall-cmd --reload
# 查看配置
firewall-cmd --list-all
# 开启自动启动
systemctl enable firewalld.service
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Halyace

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值