美文网首页程序人生
Linux中搭建pure-ftp及配置详解

Linux中搭建pure-ftp及配置详解

作者: 于丶老三 | 来源:发表于2017-04-18 17:06 被阅读127次

    1、安装pure-ftp
    centos下安装pure-ftp

    yum install pure-ftpd -y
    

    ubuntu下安装pure-ftp

    apt-get install pure-ftpd
    

    2、建立用户和组

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

    3、创建虚拟用户

    pure-pw useradd ftptest -u ftpuser -d /var/www/html
    pure-pw mkdb
    

    ftptest是虚拟用户,这个用户的属主必须是ftpuser,否则会没有权限
    虚拟用户生成的passwd文件在/etc/pure-ftpd/pureftpd.passwd
    创建虚拟用户后要执行一句mkdb生成虚拟用户数据库,这样用户才有效
    生成的文件在 “/etc/pure-ftpd/pureftpd.pdb”
    4、使用FZ软件连接
    这里连接的时候会提示一个530错误,解决办法:
    centos中:

    vim pure-ftpd.conf
    PureDB                        /etc/pure-ftpd/pureftpd.pdb
    开启这一项
    

    ubuntu中:

    在/etc/pure-ftpd/auth下,创建一个软链接ln -s /etc/pure-ftpd/conf/PureDB 60puredb
    以上如果还是没有解决,查看一下pure-ftp的pid文件是否存在 
    cat: /var/run/pure-ftpd.pid: No such file or directory
    如果出现以上错误说明pid文件不存在,但是你用ps aux查看的确有pure-ftp的进程,手动杀死再次重启,再次登录一般正常
    

    基础命令:

    pure-pw useradd 添加用户
     
    pure-pw userdel 删除用户
     
    pure-pw usermod 修改用户
     
    pure-pw show 查看用户详细信息
     
    pure-pw list 查看所有用户设置
     
    pure-pw mkdb 生成数据文件
    
    

    ftp配置参数:

    ChrootEveryone yes #限制所有用户在其主目录中
     
    BrokenClientsCompatibility no #兼容ie等比较非正规化的ftp客户端
     
    MaxClientsNumber 50 #服务器总共允许同时连接的最大用户数
     
    Daemonize yes #做为守护(doemon)进程运行(Fork in background)
     
    MaxClientsPerIP 8 #同一IP允许同时连接的用户数
     
    VerboseLog no #如果你要记录所有的客户命令,设置这个指令为 "yes"
     
    DisplayDotFiles yes #即使客户端没有发送 '-a' 选项也列出隐藏文件
     
    AnonymousOnly no #不允许认证用户 - 仅作为一个公共的匿名FTP。
     
    NoAnonymous yes #不允许匿名连接,仅允许认证用户使用。
     
    SyslogFacility ftp #缺省的功能( facility )是 "ftp"。 "none" 将禁止日志。
     
    DontResolve yes #在日志文件中不解析主机名。
     
    MaxIdleTime 15 #客户端允许的最大的空闲时间(分钟,缺省15分钟)
     
    PureDB /usr/local/pureftp-1.0.22/etc/pureftpd.pdb #PureDB 用户数据库
     
    LimitRecursion 2000 8 #'ls' 命令的递归限制。第一个参数给出文件显示的最大数目。第二个参数给出最大的子目录深度。
     
    AnonymousCanCreateDirs no #允许匿名用户创建新目录?
     
    MaxLoad 4 #如果系统被 loaded 超过下面的值,匿名用户会被禁止下载。
     
    AntiWarez yes #不接受所有者为 "ftp" 的文件的下载。
     
    Bind 10.10.10.10,21 #服务监听的IP 地址和端口。
     
    Umask 133:022 #新建目录及文件的属性掩码值。<文件掩码>;:<目录掩码>; .
     
    MinUID 99 #认证用户允许登陆的最小组ID(UID) 。
     
    AllowUserFXP yes #仅允许认证用户进行 FXP 传输。
     
    AllowAnonymousFXP no #对匿名用户和非匿名用户允许进行匿名 FXP 传输。
     
    ProhibitDotFilesWrite no #用户不能删除和写点文件(文件名以 '.' 开头的文件)
     
    ProhibitDotFilesRead no #禁止读点文件(文件名以 '.' 开头的文件) (.history, .ssh...)
     
    AutoRename no #永不覆盖文件。当上传的文件,其文件名已经存在时,自动重命名,如: file.1, file.2, file.3, ...
     
    AnonymousCantUpload no #不接受匿名用户上传新文件( no = 允许上传)
     
    AltLog clf #使用类似于Apache的格式创建一个额外的日志文件
     
    MaxDiskUsage 99 #来保护日志文件。当所在磁盘分区使用超过百分之 X 时,将不在接受新的上传。
     
    CustomerProof yes
     
    UnixAuthentication no #不起用 简单的 Unix系统 认证方式(/etc/passwd)。
    
    

    创建pure-ftp用户脚本

    #!/bin/bash
    read -p '添加一个描述:' comment
    read -p '指定工作目录:' directory
    user=$(tr -cd [a-z][A-Z][0-9] </dev/urandom | head -c 6)
    passwd=$(tr -cd [a-z][A-Z][0-9] </dev/urandom | head -c 16)
    (echo $passwd;echo $passwd) | pure-pw useradd $user -u ftpuser -d directory
    pure-pw mkdb
    
    echo '---------------------------' >> ./ftp_useradd.log
    echo '创建时间:' `date +%Y-%m-%d_%H:%M:%S` >> ./ftp_useradd.log
    echo '描述:' $comment >> ./ftp_useradd.log
    echo '用户:' $user >> ./ftp_useradd.log
    echo '密码': $passwd >> ./ftp_useradd.log
    echo '' >> ./ftp_useradd.log
    echo '' >> ./ftp_useradd.log
    

    相关文章

      网友评论

      • 杨子鳄:一直提示 “正在读取远程目录”是怎么回事儿

      本文标题:Linux中搭建pure-ftp及配置详解

      本文链接:https://www.haomeiwen.com/subject/mocqzttx.html