• {{ item.name }}
  • 三、pureftpd的配置
  • Home
  • Linux
  • Programming
    • Python
  • Life
  • Other
  • Tools
  • 投资者该如何参与优秀的区块链项目- NuLink社区圆桌会议
  • 什么是NuLink?- 项目中文社区与项目研究组成员 Rookie 对话实录
  • NuLink 融资 400 万美元用于开发隐私保护技术
  • NuLink的零知识证明介绍(1)
  • 用bitwarden_rs搭建属于自己的密码管理器
  • 修复 CentOS vps 网卡失效
  • 记录用mac给Nexus6P刷Android10的错误
  • Centos 6.8启用 TCP BBR拥塞控制算法
  • Nginx 启用HTTP2功能
  • Mac 安装adb工具
  • WordPress 默认编辑器代码按钮

Pureftpd的简单配置

  • iansiu
  • 2015-01-26
  • 0

一、什么是FTP
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为 “文传协议” 用于Internet上的控制文件的双向传输。
FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。

在CentOS或者RedHat Linux上有自带的ftp软件叫做vsftpd

二、使用pure-ftpd搭建FTP服务

pure-ftpd 官网 http://www.pureftpd.org/project/pure-ftpd

Terminal Command:

wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.32.tar.bz2
tar jxf pure-ftpd-1.0.32.tar.bz2
cd pure-ftpd-1.0.32
./configure --prefix=/usr/local/pureftpd --without-inetd --with-altlog --with-puredb --with-throttling --with-peruserlimits --with-tls
make && make install

cd configuration-file
mkdir -p /usr/local/pureftpd/etc/
cp pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf
cp pure-config.pl /usr/local/pureftpd/sbin/pure-config.pl
chmod 755 /usr/local/pureftpd/sbin/pure-config.pl

三、pureftpd的配置

vim /usr/local/pureftpd/etc/pure-ftpd.conf

## 内容如下:

ChrootEveryone yes                      ## 锁定所有用户到家目录中(ftp用户的加目录)
BrokenClientsCompatibility no           ## 兼容不同客户端
MaxClientsNumber 50                     ## 服务器共允许同时连接最大的客户端数量
Daemonize yes                           ## 后台运行
MaxClientsPerIP 8                       ## 同一个IP的最大连接数
VerboseLog no                           ## 是否记录所有客户命令
DisplayDotFiles yes                     ## 没有发送 -a 选项也显示隐藏文件
AnonymousOnly no                        ## 不允许认证用户,仅作为一个公共的匿名FTP。
NoAnonymous no                          ## 不允许匿名连接,仅允许认证用户使用。
SyslogFacility ftp                      ## Syslog facility (auth, authpriv, daemon, ftp, security, user, local*) 缺省的功能( facility )是 "ftp"。 "none" 将禁止日志。
DontResolve yes                         ## 不进行客户端DNS解析
MaxIdleTime 15                          ## 最大空闲时间15分钟
# LDAPConfigFile /etc/pureftpd-ldap.conf          ## LDAP配置文件目录
# MySQLConfigFile /etc/pureftpd-mysql.conf        ## MySQL配置文件目录
# PGSQLConfigFile /etc/pureftpd-pgsql.conf        ## PGSQL配置文件目录
PureDB /usr/local/pureftpd/etc/pureftpd.pdb       ## 虚拟用户数据库
LimitRecursion 3136 8                             ## 列表最大显示,文件3136,目录最深8层
AnonymousCanCreateDirs no                         ## 匿名用户可以创建目录
MaxLoad 4                                         ## 超出负载后禁止下载
AntiWarez yes                                     ## 禁止下载匿名用户上传但未验证的文件
Umask 133:022                                     ## 创建文件/目录的默认umask
MinUID 100                                        ## 最小UID限制
AllowUserFXP no                                   ## 仅运行用户进行FXP传输
AllowAnonymousFXP no                              ## 对匿名用户和非匿名用户允许进行匿名FXP传输
ProhibitDotFilesWrite no                          ## 不能删除/写入隐藏文件
ProhibitDotFilesRead no                           ## 禁止读取隐藏文件
AutoRename no                                     ## 有同名文件时不自动重命名
AnonymousCantUpload no                            ## 不允许匿名用户上传文件
PIDFile /usr/local/pureftpd/var/run/pure-ftpd.pid ## purefptd 父进程PID文件
MaxDiskUsage 99                                   ## 当磁盘使用量达到99%时禁止上传
CustomerProof yes                                 ## 防止命令误操作
ClientCharset=gbk                                 ## 防止Windows登录出现中文乱码
mkdir /data/ftp                                               ## 创建ftp服务的目录
useradd www                                                   ## 创建以哪个账号的身份登录ftp
/usr/local/pureftpd/bin/pure-pw useradd test1 -uwww -d /data/ftp   ## 建立虚拟账号
/usr/local/pureftpd/bin/pure-pw mkdb                        ## 创建密码文件(这一步是必须的)
/usr/local/pureftpd/bin/pure-pw list                         ## 列出用户
/usr/local/pureftpd/bin/pure-pw userdel test1                ## 删除账号

由于pureftpd没有自带系统服务,所以为了方便写了一个系统服务,放在

/etc/init.d

以后就可以用这种方式来管理pureftpd服务:

service pureftpd start

目录即可:

vim /etc/init.d/pureftpd

## 加入以下代码

Code:

#!/bin/bash
# chkconfig: - 31 22
# description: pureftpd service.
# Source Function Library

. /etc/init.d/functions

PUREFTPD="/usr/local/pureftpd/sbin/pure-config.pl"
PUREFTPD_CONF="/usr/local/pureftpd/etc/pure-ftpd.conf"
PUREFTPD_PROCESS="pure-ftpd"
PUREFTPD_PID="/tmp/pure_pid"
RETVAL=0
prog="Pureftpd"

start() {
    echo -n $"Starting $prog:"
    daemon $PUREFTPD $PUREFTPD_CONF
    ps -C pure-ftpd|sed -n '2'p|cut -d" " -f2 >$PUREFTPD_PID
    RETVAL=$?
    echo
    return $RETVAL
}

stop() {
    echo -n $"Stoping $prog:"
    killproc $PUREFTPD_PROCESS -TERM
    rm -rf $PUREFTPD_PID
    RETVAL=$?
    echo
    return $RETVAL
}

restart() {
    stop
    start

}

status() {

    if [ ! -r $PUREFTPD_PID ] ; then
        echo "pureftpd is stopped"
        exit 0
    fi
    PID=`cat $PUREFTPD_PID`
    if ps -p $PID | grep -q $PID; then
        echo "pureftpd (pid $PID) is running..."
    else
        echo "pureftpd dead but pid file exists"
    fi

}

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

exit $RETVAL
chmod 755 /etc/init.d/pureftpd                  ## 更改权限
© 2023 laowang's blog
Theme by Wing