pureftp搭建ftp

来源:互联网 发布:真女神转生4知乎 编辑:程序博客网 时间:2024/05/01 08:43
//添加虚拟用户

./pure-pw useradd 用户名 -g 用户组 -u 所属系统用户 -d ftp根目录 -f 密码文件
./pure-pw useradd yyadmin2 -g ftpgroup -u ftp -d /usr/local/apache2/htdocs/yyadmin/ -f /usr/local/pureftpd/etc/pureftpd.passwd

//执行这个,不用重启pureftp服务
./pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb



1 下载
    http://sourceforge.net/projects/pureftpd/
    测试的时候最新版本:pure-ftpd-1.0.29.tar.gz
2 安装
    解包到任意目录,如/home/ender
    tar -xzvf pure-ftpd-1.0.29.tar.gz
    cd pure-ftpd-1.0.29/

    ./configure --prefix=/usr/local/pureftpd --with-puredb
        --prefix是安装的目标目录
        --with-eyerything是安装所有功能        
        --with-language=simplified-chinese是采用中文作为提示语言
        注:记得加上
        --with-puredb 虚拟用户必+

    make && make install


3.配置
    3.1 建立一个ftp用户的文件夹,这也就是匿名用户。
        mkdir /usr/local/ftpdir
    3.2 建立一个ftp用户与组:
        groupadd ftpgroup
        useradd -g ftpgroup -d /usr/local/ftpdir -s /etc ftp
    3.3 建立第一个虚拟用户
        创建保存用户信息文件夹
            cd /usr/local/pureftpd
            mkdir etc

        进入安装执行目录
            cd /usr/local/pureftpd/bin
            --./pure-pw useradd 用户名 -g 用户组 -u 所属系统用户 -d ftp根目录 -f 密码文件
            ./pure-pw useradd ftpuser -g ftpgroup -u ftp -d /usr/local/ftpdir/ -f /usr/local/pureftpd/etc/pureftpd.passwd

        建立用户数据库(说明:今后每添加或修改用户数据库都执行一次mkdb,执行后不需要重起ftp)
        --./pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb
        ./pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb -f /usr/local/pureftpd/etc/pureftpd.passwd


4.启动
    cd /usr/local/pureftpd/sbin
    ./pure-ftpd -4 -A -c 10 -C 1 -G -H -i -I 1 -k Array5 -K -r -l  puredb:/usr/local/pureftpd/etc/pureftp.pdb  \
                -L 100:2 -O stats:/home/ftp/log/pureftpd.log -p 40000:50000 -R -T 500 -w -X -y 3:10


    ./pure-ftpd -l puredb:/usr/local/pureftpd/etc/pureftpd.pdb &
    
    说明:
        -4 只使用ipv4
        -A 除了root用户外,所有用户锁定于根目录
        -c 总的最多连接数
        -C 每个ip最多连接数
        -G 不允许重命名
        -H 取消DNS反查,加快连接速度
        -i 不允许匿名用户上传
        -I 空闲时间,超时后关闭连接,单位为分钟
        -k 限制硬盘使用量为总大小的Array5%
        -K 允许非匿名用户上传文件和断点续传(重写同名文件),但是不允许删除和重命名文件,如果文件夹为空,用户可以删除。
        -r 不允许重写同名文件,如果上传了一个同名文件,如xyz,就会被重命名为xyz.1等等。
        -l 很重要的一个参数,说明用户认证方式,可以有如下认证方式:
            -l unix     用 /etc/passwd认证
            -l pam     用pam方式认证
            -l puredb:/path/to/puredb_database  用PureDB方式认证,即虚拟用户方式,可参看README
            -l ldap:/path/to/ldap_config_file  用LDAP 文件夹认证方式,可参看README
            -l mysql:/path/to/mysql_config_file  用MySQL数据库方式认证,可参看README
            -l pgsql:/path/to/postgres_config_file  用Postgres数据库方式认证,可参看README
            -l extauth:/path/to/authd/socket  用external authentication handlers (with pure-authd),可参看README
        可以同时用多个认证方式,例如你可以这么运行
        /usr/local/sbin/pure-ftpd -lldap:/etc/pureftpd-ldap.conf \ -lpuredb:/etc/pureftpd.pdb -lunix
        认证方式参看README
        -L 避免愚蠢的denial-of-service攻击,或者是cup hogs,第一个参数是浏览时显示的最大文件数,第二个参数是ls -R时最深的文件夹层数。
        -O 记录传输过的所有文件到指定的文件,第一个参数是format,可以为CLF(Apache-like), Stats, W3C 和 xferlog。其中Stats的格式是。其中date是timestamp格式的,可以用/home/ftp/pureftp/bin/pure-statsdecode转化为人能看懂的格式。
        -p 设置port模式的端口。
        -R 禁止用户使用chmod
        -T 设置所有用户的上传下载速度,可以为一个参数,上传下载最高都为此参数,单位是KB/S,两个参数时第一个是最大上传速度,第二个是最大下载速度,用冒号分隔开来。
        -w 对非匿名用户支持FXP模式
        -X 所有用户不能读/写/重命名以.(dot)开头的文件。
        -y 第一个参数是一个非匿名用户最多能登录数,第二个参数是匿名用户最多能登录数。


5.自动启动
    vi /etc/rc.d/rc.local
    添加
    cd /usr/local/pureftpd/sbin
    ./pure-ftpd -4 -A -c 10 -C 1 -G -H -i -I 1 -k Array5 -K -r -l  puredb:/home/ftp/pureftp/pureftp.pdb \
    -L 100:2 -O stats:/home/ftp/log/pureftpd.log -p 40000:50000 -R -T 500 -w -X -y 3:10

6.文件夹操作
    通过chmod和chown改变文件和文件夹的属性来起到某些功能限制的作用。
    cd /usr/local/
    chmod 777 ftpdir

原创粉丝点击