欢迎 chinavb 加入本站!
 免费注册  用户登陆  汇款方式  汇款确认  产品报价  联系我们  帮助中心
加入收藏
设为首页
会员体系
申请VIP
网站首页 光盘超市 软件下载 技术文章 专题 用户中心 VIP会员 技术论坛 网站留言 娱乐中心 卓越资源
今天是:2009年01月08日 星期四  您现在位于: 首页 → 技术文章 → FreeBSD平台下FTP...
   FreeBSD平台下FTP服务架设的全程指南
作者:小云  出处:Unix爱好者家园unix-cd.com  更新时间: 2006年02月20日 
开始安装


    本文要介绍的是基于FreeBSD平台的FTP服务的配置过程。 


    第一步:下载FTP服务源代码包。

    proftpd-1.2.7.tar.gz下载地址:ftp://ftp.servus.at/ProFTPD/distrib/source/proftpd-1.2.7.tar.gz
    proftpd-mod-quotatab-1.2.4.tar.gz下载地址:http://www.castaglia.org/proftpd/


    第二步:解压缩源代码包。命令格式为:
    # cd /home/ylf/app                 # “/home/ylf/app”为FTP上传目录
    # tar zxvf proftpd-1.2.7.tar.gz
    # tar zxvf proftpd-mod-quotatab-1.2.4.tar.gz
    然后进入“mod-quotatab”目录,把“mod_quotatab”中的文件拷贝到“proftpd”的“modules” 目录下,命令格式为:
    # cd mod_quotatab
    # cp * ../proftpd-1.2.7/modules

    第三步:修改位于proftpd-1.2.7/contrib 目录下的“mod_sql_mysql.c”文件。命令格式为:
    # cd /home/ylf/app/proftpd-1.2.7/contrib.
    # vi mod_sql_mysql.c
    在此文件中找到“#include <mysql/mysql.h>”字段,然后将其改为自己的实际路径,比如:
    #include </usr/local/include/mysql/mysql.h>

编译安装proftpd


    第四步:编译安装proftpd。命令格式为:
    # cd /home/ylf/app/proftpd-1.2.7
    #./configure--prefix=/usr/local/proftpd
    --with-modules=mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql
    --with-includes=/usr/local/include/mysql 
    --with-libraries=/usr/local/lib/mysql
    # make
    # make install

    第五步:进入配置文件所在目录,备份原有配置文件。命令格式为:
    # cd /usr/local/proftpd/etc            #进入配置文件所在目录
    # mv proftpd.conf proftpd.conf.bak    #备份原有配置文件

    第六步:编辑新的配置文件“proftpd.conf”(可以参照原配置文件进行)。以下列举一些主要应配置的地方:
    # Port 21 is the standard FTP port.               #配置FTP服务端口号
    MaxClientsPerHost 3                         #设置每台主机最多并发连接数
    DefaultRoot ~ ftpusers
    DefaultRoot ~ FTPGRP                       #将用户限制在自己的主目录下
    QuotaDirectoryTally on                       #启用磁盘限额
    <Anonymous /ftp>
    User ftp
    Group ftpusers                              #设置匿名用户目录为“/ftp”
    SQLConnectInfo FTP@localhost root 123456     ## 设置数据库联接信息。FTP为数据库名,localhost为主机名,root为连接数据库的用户名,#123456为密码。

建立数据库和表


    第七步:为ftp用户建立相应的数据库和表。
    1. 进入mysql数据库命令状态并建立数据库FTP
    # mysql –p
    CREATE DATABASE FTP;
    2.接着在这个数据库中建立一个用户表FTPUSERS,命令格式为:
    use FTP; 
    create table FTPUSERS ( 
    userid TEXT NOT NULL, 
    passwd TEXT NOT NULL, 
    uid INT NOT NULL, 
    gid INT NOT NULL, 
    homedir TEXT, 
    shell TEXT 
    );
    关于此用户表的说明:此表格是为用户认证准备的,因此必不可少。其中“userid”是用做FTP服务的用户名;“passwd”是指此用户的密码;这两个字段是必不可少的。另外“uid”是系统用户的ID,也就是所映射的系统用户;“gid”是所属系统组的ID;“homedir”是该用户所在的HOME目录;“shell”是为该用户指定相应的shell。当然也可以建立更多的字段,例如:用来记录用户登录次数的count,或者是日期的date等等,这里就不一一详述了,我们只了解主要部分。

    第八步:为FTP用户建立相应的系统用户(本例是将整个FTP服务只提供一个有效的系统用户FTPUSR和组FTPGRP)。
    # pw groupadd FTPGRP -g 2001                                     # 建立FTPGRP组
    # pw adduser FTPUSR -u 2001 -g 2001 -d /home/FTP -s /sbin/nologin       # 建立FTPUSR用户
    # mkdir /home/FTP
    # chown FTPUSR /home/FTP
    # chgrp FTPGRP /home/FTP                                # 为FTPUSR用户建立HOME目录,并把所有的FTP user 活动空间全放在此目录下

    第九步:添加测试用户(本例为“tryuser”)。
    use FTP
    INSERT INTO FTPUSERS (userid, passwd, uid, gid, homedir, shell)
    valueS ('tryuser''999999''2001''2001''/home/FTP/user1''' );

配置完成


    第十步:对此测试用户设置磁盘限额。
    INSERT INTO `quotalimits` ( `name` , `quota_type` , `per_session` , `limit_type` , `bytes_in_avail` , `bytes_out_avail` , `bytes_xfer_avail` , `files_in_avail` , `files_out_avail` , `files_xfer_avail` )
valueS (' tryuser ''user''false''soft''20240000''0''4048000''1000''0''20');
    解释:对此测试用户给予20M空间,最多能上传1000个文件到服务器上,文件传输流量为40M,只能传输20个文件。

    第十一步:设置匿名登录,最终完成配置。
    对于匿名登录用户,建议单独为其划分硬盘分区,所有的匿名用户文件都放在这个单独的分区里。
    1. 添加匿名系统用户组users1和匿名用户ftp1。
    # pw groupadd users1
    # pw useradd ftp1 -g users1 -d /ftp -s /sbin/nologin          # “/ftp”为匿名用户所在分区

    2. 在“/ftp”分区下建立匿名用户目录并设置相应权限。
    # mkdir /ftp/incoming
    # mkdir /ftp/pub
    # mkdir /ftp/bin
    # mkdir /ftp/etc
    # chown ftp1 /ftp/incoming
    # chgrp users1 /ftp/incoming

    3.测试此匿名用户。
    在浏览器地址栏输入配置好的ftp服务器地址,如果能够正常显示刚才建立的几个目录,而且进入incoming目录可以在里面新建文件夹或文件,即表示匿名用户“ftp1”建立成功。OK,至此,FTP服务的配置过程也圆满结束。如果大家在理解过程中有什么困难,可以参阅相关资料
 (本文已被浏览 1852 次)
 发布人:sdccf
 → 推荐给我的好友
上篇文章:Windows到Linux之旅(3)---Webmi...
下篇文章:提高Linux上socket 性能
 相关文章:
FreeBSD 7.0-RELEASE 发行说明 制做FreeBSD6.3 DVD的方法
FreeBSD的ISO映像文件的说明 自动ftp实例测试
简要安装 FreeBSD 6.2 及配置桌面环境 SUSE Linux中Ftp/xinetd服务的开启方法
用adesklets打造FreeBSD的个性桌面 简要安装 FreeBSD 6.2 及配置桌面环境
自动FTP的小脚本 Debian+vsftpd+MySQL实现虚拟用户
ubuntu7.04上配置proftpd手记 图形化的FreeBSD 5.1工作站
如何查看FreeBSD的系统日志 FreeBSD中文设置方法+输入法设置
FreeBSD系统优化部分内核参数调整中文注释 FreeBSD系统日志与备份
FreeBSD中使用QUOTA(磁盘配额)来限制用户空间 FreeBSD下vsftpd简单安装与配置
Linux系统上架设VSFTP服务器实例解析 mget命令下载FTP 服务器上的多个文件

相关搜索
查看百度中关于FreeBSD平台下FTP服务架设的全程指南的更多内容
查看google中关于FreeBSD平台下FTP服务架设的全程指南的更多内容
   文章分类
操作系统 |
SCO_UNIX  Sun_Solaris  IBM_AIX  HP_UX  Linux  BSD  Tru64_UNIX 
通用UNIX知识  Windows  Minix 
程序设计 |
Shell编程  C/C++  汇编  PHP  JAVA  Perl  Python 
ASP/HTML  XML  中间件 
数据库 |
Oracle  Informix  Sybase  Fox  DB2  SQL  MySQL 
PostgreSQL 
网络应用 |
网络应用 
计算机硬件 |
计算机主机  打印机  路由器  交换机  终端  磁带机  MO 
刻录机  终端服务器  调制解调器 
   文章评论
  → 评论内容 (点击查看)   共0条评论,每页显示5条评论   浏览所有评论
(没有相关评论)
  → 发表我的评论
您的姓名: 您的Email:
评论内容:
250字内
发表评论:      发表评论须知 →
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  • 关于我们 ┋  网站留言 ┋  网站地图 ┋  友情链接 ┋  与我在线 ┋  汇款确认 ┋  管理 ┋  TOP
    Unix爱好者家园  http://www.unix-cd.com/
    联系我们:sdccf@163.com
    腾讯QQ: 7644599
    备案序号:鲁ICP备05000455号
    Copyright (c) 2001-2008 Unix-cd.com. All Rights Reserved.