黑基网 首页 学院 电脑技术 查看内容

FreeBSD平台下FTP服务架设全程指南

2009-7-19 17:13| 投稿: computer

摘要:       在前一篇文章里(请点击此处),我们已经掌握了在FreeBSD平台下配置Internet接入及Web服务的过程,因此如何配置FreeBSD接...
      在前一篇文章里(请点击此处),我们已经掌握了在FreeBSD平台下配置Internet接入及Web服务的过程,因此如何配置FreeBSD接入互联网这里就不再罗嗦。本文要介绍的是基于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。命令格式为:   # 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 [email protected] 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服务的配置过程也圆满结束。如果大家在理解过程中有什么困难,可以参阅相关资料或给我们留言交流。
小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论


新出炉

返回顶部