pureftp搭建ftp

//添加虛擬用戶

./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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章