当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > ProFTP配置文件

Unix/Linux
Linux 备份 恢复方法
Linux玩CS反恐精英的方法
在一个ISO镜像中集成多个不同的linux发行版,可刻盘,可引导
Linux 快捷键使用
Linux DHCP 服务器配置方法介绍
Linux 22端口的修改方法
Linux 记录会话过程的命令
Linux 后台执行程序如何操作?
linux Wget命令来浏览网页的方法
Linux tail命令的巧妙应用
Wine 中文存在很多的乱码怎么解决方法
linux 新手教程之创建锁文件的方法
配置Linux 保证其系统的安全
Linux DHCP协议实现过程
Linux系统下破解SAM密码
linux/unix vi 编辑器用法详解
Linux 误删文件的解决方法
Linux系统下的历史记录删除方法
Red Hat Linux 安全设置指南
Linux基本命令-注销、关机、重启

Unix/Linux 中的 ProFTP配置文件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 37 ::
收藏到网摘: n/a

ProFTP配置文件
整理编辑:mars ([email protected]) 网上关于proftpd的安装文章实在是不少,我只是稍微整理了一下,并且使用了新的 quota磁盘限额模块 由于proftpd最新版1.2.8目前还是RC版,加上有些设置不能通用, 所以在这里还是使用1.2.7版 首先下载源码 proftpd1.2.7: ftp://ftp.proftpd.org/distrib/sourc...d-1.2.7.tar.bz2 mod_quotatab-1.2.4 (1.2.5 版本的mod_quotatab是用在最新的1.2.8rc1上的) http://www.castaglia.org/proftpd/mo...ab-1.2.4.tar.gz 假定你的机器上已经安装好了mysql 开始编译安装 将proftpd的源码包解压缩到某临时目录下: localhost proftpd # tar -jxvf proftpd-1.2.7.tar.bz2 解压缩 mod_quotatab-1.2.4 localhost proftpd # tar -zxvf proftpd-mod-quotatab-1.2.4.tar.gz 进入 mod_quotatab 目录 localhost proftpd # cd mod_quotatab 把mod_quotatab中的文件拷贝到 proftpd 中的modules 目录中 localhost mod_quotatab # cp * ../proftpd-1.2.7/modules 在开始运行configure之前,我们要先改动一个文件 进入 proftpd-1.2.7/contrib 目录 localhost mod_quotatab # cd ../proftpd-1.2.7/contrib 修改 mod_sql_mysql.c localhost contrib # vi mod_sql_mysql.c 找到#include 把他该为你实际路径 如果你的mysql 安装在 /usr/local/mysql 下,就把它修改为#include r 然后 localhost contrib # cd .. localhost proftpd-1.2.7 # cd .. localhost proftpd #./configure --prefix=DIR --with-modules=mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql --with-includes=DIR --with-libraries=DIR 需要修改的三个地方 --prefix=DIR 你要安装到哪里 --with-includes=DIR mysql 的includes 目录 --with-libraries=DIR mysql 的lib 目录 然后 make make install 完成安装 接下来,进入你安装好的proftpd目录 ,修改etc/proftpd.conf 文件开始配置 基本配置我就不多说了,网上这类文章有很多,实在不会的话,自己找找就是了,这里主要介绍如何配置mysql用户认证和磁盘限额 mysql 用户认证部分: 在proftpd.conf中加入以下内容 #设置MySQL认证: #数据库联接的信息,DatabaseName是数据库名, HostName是主机名, #Port是端口号,UserName是连接数据库的用户名,Password是密码。 SQLConnectInfo DatabaseName@HostNameort UserName Password #数据库认证的类型: SQLAuthTypes Backend Plaintext #指定用来做用户认证的表的有关信息。("FTPUSERS"和"FTPGRPS"是数据表名字,等一会而在下面建立) SQLUserInfo FTPUSERS userid passwd uid gid homedir shell SQLGroupInfo FTPGRPS groupname gid members #设置如果shell为空时允许用户登录: RequireValidShell off #数据库的鉴别 SQLAuthenticate users groups usersetfast groupsetfast #如果home目录不存在,则系统会为根据它的home项新建一个目录: SQLHomedirOnDemand on 然后在这个数据库中建立一个用户表FTPUSERS,这个表是必须的: use FTP; create table FTPUSERS ( userid TEXT NOT NULL, passwd TEXT NOT NULL, uid INT NOT NULL, gid INT NOT NULL, home TEXT, shell TEXT ); 此表格是为了用户认证所需要的,其中userid、passwd是必不可少的,userid是用做FTP服务的用户名;passwd是指此用户的密码;uid是系统用户的ID,也就是所映射的系统用户;gid是所属系统组的ID;home是该用户所在的HOME目录;shell可以为该用户指定相应的shell。当然你可以建立更多的字段,例如:用来记录用户登录次数的count,或者是日期的date,如果你对配置熟悉了之后,你可以根据自己的喜欢添加更多的功能。在此就不多讲。 3、如果你想需要所有的功能,你还可以添加另外一个需要的表:FTPGRPS,也就是确定组的表格,当然也可以不用,这里讲一个它的格式: create table FTPGRPS ( grpname TEXT NOT NULL, gid SMALLINT NOT NULL, members TEXT NOT NULL, ); 其中grpname是组的名称,gid是系统组的ID,members是组的成员。注意:多成员,他们之间要用逗号隔开,不能使用空格。 4、为空表格插入记录: INSERT INTO FTPUSERS (userid, passwd, uid, gid, home, shell) valueS ('user1', '999999', '1000', '1000', '/home/FTP/user1', '' ); 按此格式你可以插入这每一个用户添加一个记录。 如果你要想应用到更多的功能,且建立了组的表格,你也要为此添加记录,不过一定要注意在members的字段多个成员一定要用逗号隔开。 INSERT INTO FTPGRPS VALUES ('FTPGRPS', 1000, 'FTPUSR'); 四、为FTP用户建立相应的系统用户。 在本例中,只整个FTP服务只提供一个有效的系统用户FTPUSR和组FTPGRP,当然你也可以设置多个系统用户。但出于安全的考虑,我只设一个,用他来启动FTP daemon,并把所有的FTP用户映射过这个用户。 先建立FTPGRP组: groupadd –g 1000 –r FTPGRP 建