URN Logo
UNIX Resources » BSD » FreeBSD » FreeBSD China » 初学指南 » 87 » pureftpd+mysql安装后可以启动,但是不能连接
announcement 声明: 本页内容为FreeBSD China的内容镜像,文章的版权以及其他所有的相关权利属于FreeBSD China和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
freebsdchina.org
  中文文档计划
  Chinese Ports 讨论
  初学指南
  技术交流
  设备驱动
  WEB服务
  Proxy服务
  JAVA平台
  软件发布
  休闲话题
  静语轩
  系统编程
  脚本编程
  内核开发技术
  网络安全
  mail系统
  X-Win系统
  信息交流
  历史-文化-设计-实现
  安装-配置-优化-安全
  中文-桌面-开发-调试
   
pureftpd+mysql安装后可以启动,但是不能连接
Author: uhopenet    Posted: 2005-02-21 09:55:39    Length: 8820 byte(s)
[Original] [Print] [Top]
pureftpd安装后可以启动,使用netstat -nat 查看,能够发现
tcp4 0 0 *.21 *.* LISTEN
但是使用ftp 192.168.1.1登陆时自动断开,提示
Conneted to 192.168.1.1.
Usage:pure-config.pl[extra options]
Connettion closed by remote host.
以下是操作步骤,哪里错了呢,是什么原因呢,请高手指点
1. 以FreeBSD的Ports方式安装。
# cd /usr/ports/ftp/pure-ftpd
# make WITH_MYSQL=1 \ MYSQL数据库支持
WITH_LANG=simplified-chinese \ 提示文字为简体中文
install clean
2. 复制配置文件
#cp /usr/local/etc/pure-ftpd.conf.sample /usr/local/etc/pure-ftpd.conf
#cp /usr/local/etc/pureftpd-mysql.conf.sample /usr/local/etc/pureftpd-mysql.conf
3. 修改配置文件

#限制用户在某个地方活动,增强服务器的安全性。
ChrootEveryone yes
TrustedGID 50
#以上两个要一起使用
BrokenClientsCompatibility no
#最大链接数
MaxClientsNumber 50
#以守护进程方式在后台运行
Daemonize yes
#每个ip最多链接数,最好设小点。
MaxClientsPerIP 5
#是否要把所有client端的指令都log下来
VerboseLog no
#显示开头的文件
DisplayDotFiles no
AnonymousOnly no
#是否只让匿名登录
NoAnonymous no
#不开放匿名登入
SyslogFacility ftp
#应该是对日志做一下过滤 (auth, authpriv, daemon, ftp, security, user, local*)可以让日志只记录想要的信息
FortunesFile /usr/local/pureftpd/etc/.welcome
#显示的欢迎信息文件,你可以创建该文件,输入一些文字,然后你重启你的FTP服务,就会有意外的发现。
DontResolve yes
#不反向解释客户端的ip
MaxIdleTime 5
#最大闲置時間
#LDAPConfigFile /usr/local/pureftpd/etc/pureftpd-ldap.conf
#使用LDAP认证,
MySQLConfigFile /usr/local/pureftpd/etc/pureftpd-mysql.conf
#使用MySQL认证
#PGSQLConfigFile /usr/local/pureftpd/etc/pureftpd-pgsql.conf
#使用PGSQL认证
#PureDB /ftp/etc/pureftpd.pdb
#使用者资料的DB存放地点 [由于我是用PureFTPD的內建DB.固有此选项]
#ExtAuth /var/run/ftpd.sock
#pure-authd socket 路径 (详细请看 README.Authentication-Modules)
#PAMAuthentication yes
#开启PAM认证
#UnixAuthentication yes
#如果你想要有简单的Unix(/etc/passwd)的认证的話
LimitRecursion 30000 20
#ls最多列出3000个文件.最深8层
AnonymousCanCreateDirs no
#匿名用户可以创建目录
MaxLoad 4
#当system load超过4時.使用者将不能再下载
PassivePortRange 30000 50000
#被动连接应答范围
ForcePassiveIP 192.168.0.1
#不会译
AnonymousRatio 1 10
#Anonymous连接上传/下载比率
UserRatio 1 10
#用户上传/下载比率(注:如果使用ldap,mysql,pgsql,pam不要启用该功能,否则你在ldap等中设置的Ratio无校)
AntiWarez no
#上传的文件不能被下载(owner is ftp).等到local admin确认
Bind 127.0.0.1,8021
#要绑定和ip/port,在你的系统中有两个FTP Server这样你其中一个FTP就要使用其它端口。
#格式-> 127.0.0.1,21 如果只写port表All ip,port
AnonymousBandwidth 8
#Anonymous 带宽,单位KB/s
UserBandwidth 8
#用户带宽,单位KB/s
Umask 133:022
#上传文件的Umask.(: )
MinUID 1000
# UID至少多少才能登录
AllowUserFXP yes
#支不支持FXP
AllowAnonymousFXP no
#Anonymous支不支持FXP
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
#(”.”)开头的文件能不能被读/写,UNIX Like下以点开头的文件是隐藏文件ls –a才能列出
#Pureftpd Quota模式下做产生” .ftpquota”文件。
AutoRename no
#上传文件若有相同文件名自动改名(file.1,file.2...)
AnonymousCantUpload no
#匿名用户上传文件
TrustedIP 10.1.1.1
#锁IP.
LogPID
#Log文件添加PID
AltLog stats:/ftp/etc/log/pureftpd.log
#log存放地点,注日志有几种常用的格式
#clf 类似apache格式,stats UNIX log格式,w3c 标准W3C格式,可能是HTML格式
#NoChmod yes
#不给Chmod指令的权限
KeepAllFiles no
#使用者可续传.但不可刪除文件
CreateHomeDir yes
#如果user的home不存在自动建立(我把这个设为YES)
#Quota 1000:10
#Quota <文件数>:<容量Megabytes >,FTP限制10M空间,可以上传1000个文件(注:如果使用ldap,mysql,pgsql,pam不要启用该功能,否则你在ldap等中设置的Quota无校)
PIDFile /ftp/etc/log/pure-ftpd.pid
#记录pure-ftpd的PID文件
CallUploadScript yes
#呼叫UploadScript
MaxDiskUsage 99
#当硬盘使用率到多少時将停止上传
NoRename yes
#用户不能重命名文件名
CustomerProof yes
PerUserLimits 3:20
#<每个账号最多可登入几次:Anonymous最多可同時登入几次>

4. 创建Mysql数据库中的FTP虚拟用户管理数据库ftpusers
#cd /usr/local/bin
#./mysql mysql –u root –p

将以下内容存为script.mysql文件
use mysql

INSERT INTO user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) VALUES('127.0.0.1','ftp',PASSWORD('123456'),'Y','Y','Y','Y','N','N','N','N','N','N','N','N','N','N');

FLUSH PRIVILEGES;

CREATE DATABASE ftpusers;

USE ftpusers;

CREATE TABLE admin (
Username varchar(35) NOT NULL default '',
Password char(32) binary NOT NULL default '',
PRIMARY KEY (Username)
) TYPE=MyISAM;

INSERT INTO admin VALUES ('Administrator',MD5('123456'));

CREATE TABLE users (
User char(16) NOT NULL default '',
Password char(32) binary NOT NULL default '',
Uid int(11) NOT NULL default '2000',
Gid int(11) NOT NULL default '2000',
Dir char(128) NOT NULL default '',
QuotaFiles int(10) NOT NULL default '500',
QuotaSize int(10) NOT NULL default '30',
ULBandwidth int(10) NOT NULL default '80',
DLBandwidth int(10) NOT NULL default '80',
status enum('0','1') NOT NULL default '1',
ipaccess varchar(15) NOT NULL default '*',
comment tinytext NOT NULL,
PRIMARY KEY (User),
UNIQUE KEY User (User)
) TYPE=MyISAM;

INSERT INTO users VALUES('support',MD5('123456'),1001,2000,'/home/support',500,30,80,5,1,'*', '');

先在Mysql数据库建立一个对数据库有操作权限的用户ftp,密码为123456。
再创建新数据库ftpusers,并新建两个表admin和users,往admin表中加入管理用户帐号,Administrator,密码为123456。往users表中加入新的FTP用户support,密码为123456。

然后我们运行以下命令来生成数据库ftpusers。

# mysql -u root -ppassword < script.mysql
注意,-p是输入密码,它和后面你输入的password中没有空格。

5. 修改/usr/local/etc/pureftpd-mysql.conf配置文件
内容如下所示:

#MYSQLServer 127.0.0.1
#MYSQL服务器的IP
#MYSQLPort 3306
#MYSQL 端口号
MYSQLSocket /var/lib/mysql/mysql.sock
#使用UNIX.sock本地连接
注:MYSQLServer 与 MYSQLSocket 选择一种即可

MYSQLUser ftp
#MYSQLUser 数据用户名
MYSQLPassword 123456
#MYSQL数据库用户的密码
MYSQLDatabase ftpusers
#FTP数据数据库
MYSQLCrypt md5
#密码加密方式"cleartext", "crypt", "md5" and "password"
# cleartext 明文,crypt,md5,password是Backend password(‘your-passwd’)函数(MYSQL数据库所使用的password()函数)
MYSQLGetPW SELECT Password FROM users WHERE User="\L"
# 密码字段,我使用users表中的Password做为密码字段
MYSQLGetUID SELECT Uid FROM users WHERE User="\L"
#UID用户ID字段
MYSQLDefaultUID 1000
#默认的UID (注:如何开启该选项,MYSQLGetUID将失去作用)
MYSQLGetGID SELECT Gid FROM users WHERE User="\L"
#GID组ID字段
MYSQLDefaultGID 1000
#默认的GID (注:如何开启该选项,MYSQLGetGID将失去作用)
MYSQLGetDir SELECT Dir FROM users WHERE User="\L"
#FTP用户目录如/home/web/www-9812-net
MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE User="\L"
#磁盘限额,文件数限制。如1000,允许用户上传1千个文件
MySQLGetQTASZ SELECT QuotaSize FROM users WHERE User="\L"
#磁盘限额,FTP用户空间限制(单位为M),如:100M
MySQLGetRatioUL SELECT ULRatio FROM users WHERE User="\L"
MySQLGetRatioDL SELECT DLRatio FROM users WHERE User="\L"
#上传/下载比率。MySQLGetRatioUL为上传比,MySQLGetRatioDL下载比。如:1:5
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L"
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L"
#下传/下载带宽(单位KB/s)。MySQLGetBandwidthUL上传带宽,MySQLGetBandwidthDL下载带宽。如上传500KB/s,下载50KB/s
MySQLForceTildeExpansion 1
MySQLTransactions On
#不会翻译


6.运行PureFTPd

有了ftp.理所当然得也要有账号才行.
为了实现匿名登录,需要在系统中加一个ftp用户。

增加用户组
#vi /etc/group
ftpusers:*:2000:
增加用户
#vipw
ftp:*:2000:2000::0:0:ftp:/home/ftp:/sbin/nologin
#passwd ftp

操作完后我们就添加一个ftp帐号属于ftpusers组,用户id和组id都是2000
[Original] [Print] [Top]
« Previous thread
我的reboot怎么不能成功启动机器了
初学指南
87
Next thread »
如何通过COM口登录网络设备
     

Copyright © 2007 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
备案序号: 京ICP备05006143    webmaster: webmaster@unixresources.net
This page created on 2007-07-26 13:31:47, cost 0.010733842849731 ms.