免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7653 | 回复: 10
打印 上一主题 下一主题

[FreeBSD] [转贴]Pure-ftpd on FreeBSD之攻略(中文简体版) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2002-12-22 11:57 |只看该作者 |倒序浏览
   此贴(繁体原版)MaxBSD以前已经贴出来过,个人感觉看起来不方便,就把它弄成了简体的,希望对大家有点帮助。有错漏的地方请指正,谢过!
********************************************************************************

                   Pure-ftpd on FreeBSD之攻略
                                              ----[作者]far
<一>ureFTPD介紹
    顾名思义.他是纯粹的一套FTPD.(-.-&quot;废话).她好用在哪里?唔...就是
    好用.用了就对了.问那么多干嘛.^_^!!
    --------------------------------------------------------------
<二>;安裝PureFTPD
    FreeBSD的ports里面也有.如果你偷懒的話.可以直接到ports下安裝即
    可(/usr/ports/ftp/pure-ftpd).不过我建议你去他的官方网站抓
    新版的(http://www.pureftpd.org/).我用的是1.0.12版.用起来还不错.
    以往我都是懒人安裝法:到ports目录下打make install clean.完成!!
    后来.发现用ports装並不能將pure-ftpd的強大体现出来.(其实是旧版
    fxp支持上有问題.)所以...难得...这么懒的我.也就用source装了.
    废话了好多.

    A。把抓下来的source解开.(建议解在/tmp下)
    #tar zxvf pure-ftpd-1.0.12.tar.gz
        如果沒事做.可以看看里面的README.* 很值得看.如果你有什
        么特殊需求的话.也可以直接在里面去找.应该是可以找到你要的东
        东.(Ex: LDAP.MySQL.Virtual.......)

    B。开始准备依你的意愿做出你想要的ftp-server.
    #./configure --with-paranoidmsg --with-sysquotas --with-puredb \
      --with-altlog --with-throttling --with-ratios --with-ftpwho \
      --with-welcomemsg --with-uploadscript --with-largefile \
      --with-virtualhosts --with-virtualchroot --with-diraliases \
      --with-quotas --with-peruserlimits --with-language=traditional-chinese

        在README中[ADVANCED COMPILATION]的段落中,有对上面的使用的
        详细说明.在这里我只对常用的做简略的解释.
        --without-standalone
            不能以standalone的方式执行ftpd.
        --without-inetd
            不能以inetd的方式执行ftpd.
        --without-iplogging
            做log時不将IP 地址给log下來.
        --without-shadow
            不做shadow.除非是用PAM, LDAP or SQL.不然极不建议拿掉.
        --without-usernames
            文件列表只会列出UID &amp; GID,不列出实际user or group name.
        --without-humor
            嘿嘿嘿....
        --without-ascii
            不支持7-bits transfers(ASCII).
        --with-paranoidmsg
            唔....不知该怎么说.算是可以给特定人的信息吧.
        --with-sysquotas
            吃系统的quota设定.
        --with-minimal
            最小化安裝.
        --with-pam
        --with-puredb
        --with-ldap
        --with-mysql
        --with-pgsql
            以上五种都是存储资料的格式?!(算吧?!).看你比较习惯什么.
            我是比较喜欢用puredb.
        --with-altlog
            留log拉....
        --with-cookie
            使用者进站看到的东东.类似进站画面.
        --with-ratios
            上下传比.
        --with-throttling
            频宽可设限.
        --with-ftpwho
            可用pure-ftpwho來看线上使用者.像是Serv-u的线上状态.
        --with-uploadscript
            当一个文件被完整上传完后自动呼叫某一script去对这个文件
            处理.当然.这个script得你自己写.
        --with-largefile
            支持下载超过2G的文件.
        --with-virtualhosts
            跟http的virtualhost有异曲同工之妙.
        --with-virtualchroot
            配合上面的chroot.
        --with-diraliases
            跟Serv-U上面的link功能一样.
        --with-nonroot
            不需root权限.一般user即可启动ftpd.
        --with-quotas
            使用quota.(非系统下的quota)
        --with-peruserlimits
            enable per-user concurrency limits.Avoid this on
            very loaded servers.(太难翻译了)
        --with-everything
            所有功能全上.
        --with-language=traditional-chinese
            显示出来的信息的语言.缺省为英语.
            (意外的发现.在config.h中作者以为大陆用traditional-chinese
             台湾用simplified-chinese.但不管如何,这不影响我们的使用)

    C.好了就准备安装上去吧!!
    #make &#59; make check &#59; make install

    D.把一些东东搬到该放的位置.
    #chmod 755 configuration-file/pure-config.pl
    #cp configuration-file/pure-config.pl /usr/local/sbin/
    #cp configuration-file/pure-ftpd.conf /usr/local/etc/

-------OK.PureFTPD就这样装完了.其他Config等下回分解.:p-----------

    在上一章节.我们已经成功把PureFTPD架起来了.现在我们要开始设定他的设定文件.
--------------------------------------------------------------------------
<三>;pure-ftpd.conf的设定
    *在上一次,我们把PureFTPD的default设定文件(pure-ftpd.conf)拷贝一
    份在/usr/local/etc/下.(其实哪都可以,只是我习惯).建议再拷贝
    一份叫pure-ftpd.xxx.conf(如果你要跑多支ftpd的话.xxx部分可以自
    由替代成你要的名字.方便就好).开始编辑pure-ftpd.xxx.conf.
    #vim pure-ftpd.xxx.conf (看你喜欢用什么编辑器.自己选用)

####pure-ftpd.xxx.conf#######
ChrootEveryone                  yes
TrustedGID                      50
#以上两者要一起用
BrokenClientsCompatibility      no
MaxClientsNumber                999
#最大链接数
Daemonize                       yes
#Fork in background
MaxClientsPerIP                 5
#每个ip最多链接数
VerboseLog                      no
#是否要把所有client端的指令都log下来
DisplayDotFiles                 no
#显示开头的文件
AnonymousOnly                   no
#是否只让匿名登录
NoAnonymous                     yes
#不开放匿名登入
SyslogFacility                  ftp
DontResolve                     yes
#不反向解释客户端的ip
MaxIdleTime                     5
#最大闲置時間
PureDB                          /ftp/etc/pureftpd.pdb
#使用者资料的DB存放地点 [由于我是用PureFTPD的內建DB.固有此选项]
UnixAuthentication              yes
#如果你想要有简单的Unix(/etc/passwd)的认证的話
LimitRecursion                  1000 3
#ls最多列出1000个文件.最深3层
MaxLoad                         4
#当system load超过4時.使用者将不能再下载
AntiWarez                       no
#上传的文件不能被下载(owner is ftp).等到local admin确认
Bind                            21
#要绑定哪个ip/port
#格式->; 127.0.0.1,21 如果只写port表All ip,port
Umask                           133:022
#上传文件的Umask.(<umask for files>;:<umask for dirs>
MinUID                          1000
# UID至少多少才能登录
AllowUserFXP                    yes
#支不支持FXP
ProhibitDotFilesWrite           no
ProhibitDotFilesRead            no
#.开头的文件能不能被读写
AutoRename                      no
#上传文件若有相同文件名自动改名(file.1,file.2...)
TrustedIP                       10.1.1.1
#锁IP.
AltLog                          stats:/ftp/etc/log/pureftpd.log
#log存放地点
NoChmod                         yes
#不给Chmod指令的权限
KeepAllFiles                    yes
#使用者可续传.但不可刪除文件
CreateHomeDir                   no
#如果user的home不存在自动建立
PIDFile                         /ftp/etc/log/pure-ftpd.pid
#记录pure-ftpd的PID文件
Quota                           1000:10
#<文件数:Megabytes>;
CallUploadScript                yes
#呼叫UploadScript
MaxDiskUsage                    99
#当硬盘使用率到多少時将停止上传
NoRename                        yes
#不给改文件名
PerUserLimits                   3:20
#<每个账号最多可登入几次:Anonymous最多可同時登入几次>;
#############################
    -----------------------------------------------------------
<四>;建立账号
    有了ftp.理所当然得也要有账号才行.
    #vipw
    ftpuser1$rEO39XEq$kRMKuch12ugYu3hCh/sPA.:9999:9999::0:0:ftp:/ftp:
    /sbin/nologin
    #vim /etc/group
    ftpgroup:*:9999:
    上面是ftp 客户以什么身分登入.
    接下来我想要把pure-ftpd要吃的密码文件选个地方放.我是选择放在/ftp/etc/下
    #pure-pw far -f pureftpd.ps -u 9999 -g 9999 -d /ftp/far -y 2
    #pure-pw mkdb pureftpd.pdb -f pureftpd.ps

    <Ex:>;
    useradd <login>; [-f <密码文件>;] -u <uid>; [-g <gid>;]
                    -D/-d <主目录>; [-c <gecos>;]
                    [-t <下载频宽>;] [-T <上传频宽>;]
                    [-n <最多下载文件数>;] [-N <最多下载Mb>;]
                    [-q <upload ratio>;] [-Q <download ratio>;](上下传比)
                    [-r <allow client ip>;/<mask>;] [-R <deny client ip>;/<mask>;]
                    [-i <allow local ip>;/<mask>;] [-I <deny local ip>;/<mask>;]
                    [-y <同時最多链接数>;]
                    [-z <hhmm>;-<hhmm>;](可登入時间24小时制) [-m]
    pure-pw usermod <login>; -f <passwd file>; -u <uid>; [-g <gid>;]
                    -D/-d <home directory>; -[c <gecos>;]
                    [-t <download bandwidth>;] [-T <upload bandwidth>;]
                    [-n <max number of files>;] [-N <max Mbytes>;]
                    [-q <upload ratio>;] [-Q <download ratio>;]
                    [-r <allow client ip>;/<mask>;] [-R <deny client ip>;/<mask>;]
                    [-i <allow local ip>;/<mask>;] [-I <deny local ip>;/<mask>;]
                    [-y <max number of concurrent sessions>;]
                    [-z <hhmm>;-<hhmm>;] [-m]

    pure-pw userdel <login>; [-f <passwd file>;] [-m]

    pure-pw passwd  <login>; [-f <passwd file>;] [-m]

    pure-pw show    <login>; [-f <passwd file>;]

    pure-pw mkdb    [<puredb database file>; [-f <passwd file>;]]

    -d <home directory>; : chroot user (建议值)
    -D <home directory>; : don't chroot user
    -y 0 : 同時最多链接数不限
    -m : 同時更新/etc/pureftpd.pdb文件.(如果PureDB不放置在此的请不要加)
    For a 1:10 ratio, use -q 1 -Q 10
    To allow access only between 9 am and 6 pm, use -z 0900-1800
    ****************************************************************
    关于文件权限部份.(需要將可Upload的使用者改成ftpuser:ftpgroup.可
    下载的文件权限也要是644)
    #chown -R ftpuser:ftpgroup Upload/

    ------------------------------------------------------------------
<五>;启动
    到/usr/local/bin/rc.d/下编辑一个pure-ftpd.sh
#############################
#!/bin/sh

case &quot;$1&quot; in
        start)
                if [ -f /usr/local/etc/pure-ftpd.xxx.conf ]&#59; then
                        /usr/local/sbin/pure-config.pl /usr/local/etc/pure-
ftpd.xxx.conf >; /dev/null 2>;&amp;1 &amp;&amp; echo -n 'pure-ftpd Begin!'
                fi
                &#59;&#59;
        stop)
                /usr/bin/killall pure-ftpd >; /dev/null 2>;&amp;1 &amp;&amp; echo -n 'pure-
ftpd Stop!'
                &#59;&#59;
        *)
                echo &quot;&quot;
                echo &quot;Usage: `basename $0` { start | stop }&quot;
                echo &quot;&quot;
                exit 64
                &#59;&#59;
esac
#############################
    #chmod +x pure-ftpd.sh
    #./pure-ftpd.sh start

    ok...开始测试看看吧
    ftp xxx.far2.net 21
    Connected to ftp.far2.net.
    220-=(<*>=-.:. (( 欢迎来到 PureFTPd 1.0.12 )) .:.-=(<*>=-
    220-您是第 48 个使用者,最多可达 999 个连线
    220-现在本地時间是 19:52 负载是 1.37。服务器端口: 21。
    220-这是私用系统 - 不开放匿名登入
    220 在 5 分钟內沒有活动,您会被断线。
    Name (xxx.far2.net:far):far
    331 使用者 far OK. 需要密码.
    Password:
    230-使用者 far 有群组存取于:  ftpgroup
    230-这个服务器支持FXP传输
    230 OK. 目前限制的目录是 /
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp>;

    当你看到以上信息時.恭喜你.你已经成功的架起一个ftp了.

    --------------------------------------------------------------------

    是不是很简单呢.现在你可以好好享用你的FTP Server了.

    --------------------------------------------------------------------

    ps.如果你是超超超超超超大的b3k站.PureFTPD下面有几点建议.

    * Compile with :
    #env CFLAGS=&quot;-O2 -fomit-frame-pointer -fgcse -Os&quot;
    #./configure --with-minimal --without-inetd --without-pam
    #make install-strip

    -=特殊功能都不要加.以减轻Server负担=-

    *用standalone的模式去启动.不要打开pure-ftpwho &amp; pure-uploadscript
      &amp; per-userlimits 的选项

    -=因为那几个都是很吃系统资源的工具=-

    <FreeBSD下可以.....>;
    *编辑/etc/fstab, 对所有filesystems的options增加&quot;,noatime&quot;

    *在/boot/loader.conf里增加以下两行
      hw.ata.wc=&quot;1&quot;
      kern.ipc.nmbclusters=&quot;60000&quot;

    *在/etc/sysctl.conf里增加
      vfs.vmiodirenable=1
      kern.ipc.maxsockbuf=2097152
      kern.ipc.somaxconn=8192
      kern.ipc.maxsockets=16424
      kern.maxfiles=65536
      kern.maxfilesperproc=32768
      net.inet.tcp.rfc1323=1
      net.inet.tcp.delayed_ack=0
      net.inet.tcp.sendspace=65535
      net.inet.tcp.recvspace=65535
      net.inet.udp.recvspace=65535
      net.inet.udp.maxdgram=57344
      net.local.stream.recvspace=65535
      net.local.stream.sendspace=65535

      求一下土地公.让你等一下不用跑机房.然后reboot.重开机后就大功告成.
      PS.你问我上面的参数有沒有用?唔...我加了.至于效果么.....站不够大.
      所以...不知道.你可以试试跟我说...D

论坛徽章:
0
2 [报告]
发表于 2002-12-22 12:17 |只看该作者

[转贴]Pure-ftpd on FreeBSD之攻略(中文简体版)

IE可以同时看繁体的呀。

论坛徽章:
0
3 [报告]
发表于 2002-12-22 12:20 |只看该作者

[转贴]Pure-ftpd on FreeBSD之攻略(中文简体版)

下面引用由MaxBSD2002/12/22 12:17pm 发表的内容:
IE可以同时看繁体的呀。

你看MM跑的那么累,也不给点鼓励,kick   

不错,挺好,加油

论坛徽章:
0
4 [报告]
发表于 2002-12-22 12:25 |只看该作者

[转贴]Pure-ftpd on FreeBSD之攻略(中文简体版)

主要感觉是语言习惯和字体看起来的不方便而已,不过台湾有关FreeBSD的文档确实很多,比较有用。看来还是要学会习惯繁体和他们的语言才行,呵呵!

论坛徽章:
0
5 [报告]
发表于 2002-12-22 13:13 |只看该作者

[转贴]Pure-ftpd on FreeBSD之攻略(中文简体版)

不错,顶一下。

论坛徽章:
0
6 [报告]
发表于 2002-12-22 13:43 |只看该作者

[转贴]Pure-ftpd on FreeBSD之攻略(中文简体版)

o

论坛徽章:
0
7 [报告]
发表于 2002-12-22 13:51 |只看该作者

[转贴]Pure-ftpd on FreeBSD之攻略(中文简体版)

这样的文章老实说挺弱智的,看几分钟man谁都会写,问题是国内没多少人愿意写。

论坛徽章:
0
8 [报告]
发表于 2002-12-22 13:55 |只看该作者

[转贴]Pure-ftpd on FreeBSD之攻略(中文简体版)

下面引用由MaxBSD2002/12/22 01:51pm 发表的内容:
这样的文章老实说挺弱智的,看几分钟man谁都会写,问题是国内没多少人愿意写。

当然包括你在内,懒虫     

论坛徽章:
0
9 [报告]
发表于 2002-12-22 14:11 |只看该作者

[转贴]Pure-ftpd on FreeBSD之攻略(中文简体版)

下面引用由Fun-FreeBSD2002/12/22 12:20pm 发表的内容:
你看MM跑的那么累,也不给点鼓励,kick   
不错,挺好,加油
9494,帮帮手都可以嘛!!! :em01:  :em01:

论坛徽章:
0
10 [报告]
发表于 2003-07-31 08:35 |只看该作者

[转贴]Pure-ftpd on FreeBSD之攻略(中文简体版)

原帖由 "leolee761128" 发表:
--with-language=traditional-chinese
显示出来的信息的语言.缺省为英语.
(意外的发现.在config.h中作者以为大陆用traditional-chinese
台湾用simplified-chinese.但不管如何,这不影响我们的使用)

这个怎么没人更正一下?我装的pure-ftpd-1.0.15.tar.gz
按照上面说的用繁体中文选项编译,因为我想用简体的,结果出来成了繁体,看来作者已经纠正这个错误了,hoho,大家以后用的时候不要走弯路了:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP