在FreeBSD上Proftpd匿名登陆带Mysql验证的Quota磁盘限(2)

插入测试用户:
INSERT INTO `ftpusers` VALUES ('test', '123', 2001, 2001, '/usr/ftp/incoming', '');
3.quotalimits
CREATE TABLE `quotalimits` (
`name` varchar(30) default NULL,
`quota_type` enum('user','group','class','all') NOT NULL default 'user',
`per_session` enum('false','true') NOT NULL default 'false',
`limit_type` enum('soft','hard') NOT NULL default 'soft',
`bytes_in_avail` float NOT NULL default '0',
`bytes_out_avail` float NOT NULL default '0',
`bytes_xfer_avail` float NOT NULL default '0',
`files_in_avail` int(10) unsigned NOT NULL default '0',
`files_out_avail` int(10) unsigned NOT NULL default '0',
`files_xfer_avail` int(10) unsigned NOT NULL default '0'
) ENGINE=MyISAM;;
设置用户磁盘配额:
INSERT INTO `quotalimits` VALUES ('test', 'user', 'false', 'soft', 1.024e+09, 0, 2.048e+09, 10, 0, 0);
设置test用户,磁盘配额1G,可以上传下载流量2G,最多文件数10个
4.quotatallies
CREATE TABLE `quotatallies` (
`name` varchar(30) NOT NULL default '',
`quota_type` enum('user','group','class','all') NOT NULL default 'user',
`bytes_in_used` float NOT NULL default '0',
`bytes_out_used` float NOT NULL default '0',
`bytes_xfer_used` float NOT NULL default '0',
`files_in_used` int(10) unsigned NOT NULL default '0',
`files_out_used` int(10) unsigned NOT NULL default '0',
`files_xfer_used` int(10) unsigned NOT NULL default '0'
) ENGINE=MyISAM;;
设置quota,只要在ftpquotalimits表里设置一下就行了,这个表里的各个参数分别代表:
代码:
quotalimits表
name: - 用户帐号
quota type: - user, group, class, all (we use user)
per_session: - true or false (we use true)
limit_type: - 硬限制 or 软限制 (我们一般用硬限制)
bytes_in_avail: - 允许上传的字节数
bytes_out_avail: - 允许下载的字节数
bytes_xfer_avail: - 允许传输的字节数(包括上传/下载)
files_in_avail: - 允许上传的文件数
files_out_avail: - 允许下载的文件数
files_xfer_avail: - 允许传输的文件数(包括上传/下载)
建立系统相关用户或组:
1.创建proftpd服务运行的用户和用户组:
#pw groupadd ftpgrp -g 2001
#pw adduser ftpusr -u 2001 -g 2001 -d /usr/ftp/incoming -s /sbin/nologin
2、创建匿名登陆用户映射的系统用户和用户组
#pw groupadd pubusers -g 2002
#pw adduser ftp -u 2002 -g 2001 -d /usr/ftp/incoming -s /sbin/nologin
3、配置系统自启动proftpd服务
#ee /etc/rc.conf
加入一行
proftpd_enable=”YES”
这样系统启动的时候会调用/usr/local/etc/rc.d/proftpd.sh脚本启动proftpd服务
4、监控和调试proftpd服务
#/usr/local/sbin/proftpd proftpd -n -d 5 -c /usr/local/etc/proftpd.conf
这样在测试和连接ftp的时候,可以在主机上看到所有的proftpd运行信息
5、日志监控
可以使用下面的命令查看系统日志、传送日志等
#tail -f /var/log/proftpd.syslog
#tail -f /var/log/proftpd.transferlog
6、用户登陆后运行quote SITE QUOTA命令查看设置的磁盘限额信息
最后运行时出现的问题:
匿名登陆时总出现验证,用测试用户登陆出现错误:
FreeBSD# ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
500 FTP server shut down (going down at Tue Dec 19 20:00:00 2007) -- please try again later.
ftp>
解决方法:
#rm -rf /etc/shutmsg
其它一些问题的处理:
Q:在本地ftp localhost输入用户名、密码回车后。等很久才进入FTP Server
A:ftp 127.0.0.1
Q:在远程服务器上ftp ip输入用户名、密码回车后。等很久才进入FTP Server
A:LDAPServer localhost 改为 LDAPServer 127.0.0.1
Q:登录Ftp Server 提示
530 Login incorrect.
Login failed.
我确认输入的用户、密码决对正确
A:在登录ProFTPD时加参数proftpd –d5 –n会输出调试信息。你可以在其中
找到答案。如果在调试信息中找到这一行no such user 'xxxx'
可能是与MySQL/OpenLDAP连接有问题。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwyywz.html