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

Unix/Linux
linux查看内存的大小
在linux下写的代码,用的是utf-8,结果拿到XP下运行的时候,所有的中文都成乱码
linux su和sudo命令的区别
linux cron 下的定时执行工具使用技巧
linux 查找进程及终止进程操作的相关命令
redhat linux 安装 gcc编译器
Linux Mplayer播放各种格式的电影
一起回顾一下linux常用命令
Linux 网站项目发布要做哪些配置
linux SSH配合SecureCRT的密匙完美使用方法
GD 编译出错解决方法
Facebook Open Platform编译FAQ
Linux 系统硬盘 优化
linux 挂载详解
linux crontab定时命令
Linux 系统中确保访问三级域名畅通的方法
Linux 特权帐号VS普通帐号
确保Linux系统安全的前提条件 漏洞防护
Linux 监视系统资源使用率
Red Hat Linux上使用BIND建立DNS服务器

Unix/Linux 中的 ProFTP配置文件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 28 ::
收藏到网摘: 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 建