全部博文(18)
2008年(18)
分类: BSD
2008-08-06 10:32:07
编译安装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 #启用磁盘限额
User ftp
Group ftpusers #设置匿名用户目录为“/ftp”
SQLConnectInfo FTP@localhost root 123456 ## 设置
建立数据库和表
第七步:为ftp用户建立相应的数据库和表。
1. 进入库命令状态并建立数据库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
第九步:添加测试用户(本例为“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.测试此匿名用户。
在浏览器地址栏输入配置好的