admin 管理员组文章数量: 1184232
2024年4月14日发(作者:mysql恢复表数据)
维普资讯
实践与经验
使用Pure—FTPd和MySQL构建F1'P服务器
徐鲁辉
(河南大学计算机与信息T程学院,开封475004)
摘要:简要介绍了FTP服务、FreeBSD操作系统和Pure—FTPd,讲述了在FreeBSD环境下使用Pure—
FTPd和MySQL构建FTP服务器的详细过程和相关技术。
关键词:FTP服务器;FreeBSD;Pure—FTPd;MySQL
引 言
②从,usr,share/exampIes,cvsup中复制一份ports—
FrP服务是基于TCP/IP协议的用于实现本地计
supfile glJ/usr中,这是为了使用方便且维持原有范例
算机和远程计算机之间文件传输的网络服务,工作在
不变。输人命令:
#cp lusr/sharelexamples/cvsup/ports—supfile/usr
Clienl/Server模式下。FreeBSD是基于BSD Unix的免
费的开放源码的操作系统,它具有很多优良的特性.
③编辑文件ports—supfile:
如系统的高稳定性、高安全性,与许多执行文件的兼
把*default host=CHANGE_THIS.FreeBSD.org改
容性等。Pure—FI'Pd是一款免费的FrP服务软件。提
为 default host=cvsup.feebsd,0 ;把ports—all注释
掉;把自己需要更新的Ports组件打开,如ports—base
供全部的FrP服务,它可以运行在Linux,OpenBSD,
基本的工具,ports—archivers关于文件压缩及解压缩
NetBSD,FreeBSD,Sloaris,Tru64,Darwin,Irix,HPUX
等操作系统上。具有安全、高效、高适应性、完全兼容
的程序等。
性等特点。支持带宽限制、虚拟磁盘配额限制、FXP、
④用下面的命令更新Ports—Tree:
#cvsup—‘g—‘L 2/usdports—‘supfile
IPv6等,其设计初衷就是数据传输的安全性,支持
其实,并不是每个系统非得一定要对Ports Tree
MySQL、LDAP、PGSQL等多种认证方式。因此,使用
进行更新。但是为了使系统更加稳定地运行.减少系
Pure—FTPd和MySQL在FreeBSD操作系统中实现
统自身的安全性带来的危害.建议还是更新FreeBSD
FrP服务.具有较高的实用价值和学习价值。
系统的Ports Tree。
1 安装H.yS0 L和Pu re—FTPd
(2)安装和配置MySQL
(1)安装前的准备:更新Ports-Tree
①安装MySQIA.0.输入以下命令:
现
Ports Tree几乎每天都在更新.各种软件每天都
#cd/usr/ports/databases/mysql40-server
代
#make SKIP
_
DNS
_
CHECK=yes BUILD
—
OPTIMIZED=
计
会有新版本推出.而且一些Ports—Tree的问题也可以
yes BUILD STATIC=yes
算
通过CVSup取得新版本文件来修正。FreeBSD有一个
#make install
机
基于CVS的升级系统.用户可以使用CVSup来升级
^
这样,安装程序就会根据所设参数自动编译.从
总
自己的系统,使其与最新的同步。下面是使用CVSup
第
更新P0rts—Tree的具体操作。
网站上下载MySQL40一Server。然后自动安装在/usr/lo—
cal目录罩.数据库目录位于/var/db/mysq1..其中.
二
①若系统没有安装CVSup,则先安装。输人命令:
SKIP
一
v flp://cvsup freebsd.org/pub/CVSup/evsup—
_
DNS
_
CHECK=yes表示在加入本机名字时,不用
一
#pkg
add-f—
九
without-gui一16.1g.tgz
做反向解析,BUILD_OPTIMIZED=yes表示在编译时
期
优化处理,BUILD—STATIC=yes表示把MySQL编译成
v
0 MODERN COMPUTER 2006
.
2
维普资讯
实践与经验
静态执行版本。
#ep pure-flpd.conf.sample pum-flpd.conf
#cp pure ̄pd—mysq1.conf.sample pureflpd—mysq1.conf
②执行初始化程序(第一次安装才需执行),输入
以下命令:
#cd /usr/ports/databases/mysqI4O-server/work/mysql一
4.O.26
#./scfipts/mysql
install
db
_
(2)修改pure—ftpd.conf配置文件
#vi/usr/local/etc/pure-fipd.conf
根据自己服务器的需要进行设置。如:
—
●设置是否将每一用户限制在其主目录:Ch—
rootEveryone yes
③改变目录和文件的存取权限和属性值,输入以
下命令:
#chown-R mysql:mysql/usr/local/share/mysql
#chows1一R mysql:mysql/var/db/mysql
#chmod—R 755/var/db/mysql
#chmod 744/usr/local/share/mysql/mysq1.server
④启动MySQL服务器,输入以下命令:
#/usr/local/share/mysql/mysq1.server start
注意:MySQL安装后默认的超级用户名是root。
初始密码为空。
⑤测试MySQL运行是否正常,设置是否正确:
●查看MySQL版本信息,输入命令:#usr3ocaY
bin/mysqladmin version—u root—P。出现输入密码提
示,由于初始密码为空。直接回车即可显示MySQL版
本信息。
●查看MySQL变量参数信息.输入命令:#usr/lo—
cal/bin/mysqladmin variables—u root—P,出现输入密码
提示,直接回车,查看MySQL各参数设置是否正确。
⑥修改密码,输入以下命令:
#/usr/loeal/bin/mysqladmin—u root-p password
“123456”,然后出现输入密码提示,输入老密码,这样
就把密码修改成了“123456”。
(3)安装Pure-FTPd
①输入命令#cd/usdports/locallftp/pure—ftpd转换
目录,编辑Makefile文件,在CONFIGURE—ARGS=中
根据个人需要添加配置参数,如:
一一
with-mysql\
--with-uploadscfipts|
--
with-quotas I
…with ratios l
一一
with-throttling、
其中,…with mysql选项一定要添加,这是因为
我们要使用MySQL来作Pure—FI'Pd的认证方式。
②编译并安装,输人命令:#make install。
2 配置Pu re—FTPd
(1)复制系统中Pure—FTPd配置文件的模板
#cd/usr/1ocaUetc
●设置是否仅有匿名用户:AnonymousOnly no
●设置是否仅允许认证用户登陆:NoAnonymous
nO
●设置MySQL配置文件的位置:MySQLConfig—
File/usr/local/etc/pureftpd—mysq1.conf
(3)修改pure邱d—mysq1.conf配置文件
主要设置MySQLUser,MySQLPassword,My—
SQLDatabase,MySQLCrypt等选项,具体配置实例如下:
MySQISevrer localhost
MySQLPotr 3306
MYSQLUser itp
MYSQLPassword ftp
MYSQLDatabase pure ̄pd
MYSQLCrypt any
MYSQLGetPW SELECT Passwo ̄FROM users
WHERE User-=”、L”
MYSQLGetUid SELECT Uid FROM users
WHERE User-=”\IJ”
MYSQLGetGid SELECT Gid FROM USers
WHERE User=-”\L.’
MYSQLGetDir SELECT Dir FROM USel ̄
WHERE User=”\IJ”
MySQLGetQTAFS SELECT QuotaFiles FROM
users WHERE User=”\IJ”
MySQLGetQTASZ SELECT QuotaSize FROM
users WHERE User=”、L”
MySQLGetRatioUL SELECT ULRatio FROM USel'S
WHERE User=-”\IJ”
MySQLGetRatioDL SELECT DLRatio FROM users
WHERE User=”\IJ”
现
MySQLGetBandwidthUL SELECT ULBandwidth FROM
代
users WHERE User=-”\IJ”
计
MySQLGetBandwidthDL SELECT DLBandwidth FROM
算
users WHERE User=-”\IJ”
机
^
3 在FTP Se rve r上添加FTP用户和用
总
第
户组 ’
二
-
输入以下命令: 、
一
九
期
v
M0DERN COMPUTER 2006.2囝
维普资讯
珂 n
实践与经验
pw groupaddftpusers—g 2000
#pW useradd ftp—n 2000一g flpusers—s/shirdnologin
DLBandwidth smallint(5J NOT NULL default~0,
status enum(’0’,…1)NOT NULl default 0,
(!olnment tinytext NOT NUI 1 ,
前者表示在服务器上创建ftpuser用户组,用户
组ID为2000.后者表示在服务器上创建l,'rP用户,
它隶属于fipusers用户组,其中“S/sbin/nologin”表
示禁止用户进入shell。
ipa ̄:cess varehar(1 5)NOT NULL default…,
PRIMARY KEY(User),
I JNIQUE KEY(User)
)TYPE=MyISAM;
4在MyS0 L中添加用户和建立认证数据库
②在pureftpd.users表中添加丌P服务认证用厂J
(1)添加用户FTP
进入MySQL.在数据库MySQL的表user巾添加
丌P用户.并指定其权限。在mysql提示符下输入以
下命令:
mysql>USE mysql;
mysql>INSERT INTO mysq1.user(Host,User,Password,
Seleet
_
pfiv,Insert._priv,Update
—
priv,Delete
—
priv,Create
—
priv,
Drop
—
priv,Reload
—
priv,Shutdown
—
priv,Process pfiv,File
—
priv,
Grant
—
pfiv,References
_
priv,Index
—
priv,Aher
_
priv)VALUES
rlocalhost','ftp’,PASSWORD(’ftp ),’Y’,’Y ,’Y’,’YI,INt,tN’,‘Nt,lN’,
’N‘,‘N’,’N’,’N’,’N , N’);
mysqI>FLUSH PRIVILEGES;
注意:在mysq1.user中添加的用户名和密码要和
pureflpd-mysq1.conf配置义件中“MySQLUser”和
“MySQLPassword”的设定值一致,mysql的每个命令后
面都要跟上分号“;”以执行该条命令。命令“FI USH
PRIVILEGES;”表示刷新权限表。
(2)建立认证数据库purefcpd
注意:数据库名和表名要和pureftpd—mysq1.oonf配
置文件中“MySQLDatabase”的设定值及SEI ECT语句
中的表名相一致。
①建立数据库pureftpd及其表users,在mysq1提
示符下输入以下命令:
mysql>CREATE DATABASE purefipd;
mysql>USE pumflpd;
mysql>CREATE TABLE users(
User varchar(16)NOT NUI 1 default”,
Password varehar(6,J,)Nf)下NULL default”,
Uid v
.
arehar(11)NOTNULLdefault 1’,
Gid varehar(1 1)NOT NULL default 一1’,
Dir varehar(128)NOT NULL default”,
QllotaFiles int(1 1)NOT NULL default 0,
QuolaSize smallint(5)NOT NULL default 0,
Il1 Ilalio smallint(5)NOT NULL tiefault 0,
DLRatio smallint(5)NOT NULL default 0,
ULBandwidth smallint(5)NOT NULL default 0,
t
o MODERN COMPUTER 2o06
.
2
lfptest1,在mysql提示符下输入以下命令:
mysqI>INSERT INTO users VALUES(’lfptestl',MD5
(’lfptest1’),’2001’,’20o0’,’/home/itp/’,100,10,1,10,10,100,0, ,
…):
mysqI>FLUSH PRIVILEGES;
5 测试和维护
①启动MySQL J]f/ ̄-和Pure—FTPd服务.使用以
下命令:
#/usr/loeal/share/mysql/mysq1.server start
#/usr/1ocal/ete/rc.d/pur ̄一flpd.sh start
②使用以下命令测试丌P服务器是否可用:
#ftp localhost或者#ftp 218.196.207.83f耵P Serv—
er的IP地址),若出现如图1所示的信息,则表明
丌P服务器可用。
图1
.
图2为在FTP Server上匿名登录的测试结果。
图2
维普资讯
实践与经验
’
网3为在FTP server上合法用户ftptestl登录’的 -
:毒誓 茬③任何繁于 ≥ P n毒一 一 的醣窘F 的醣盎 件p支伴p 一ure—flpd.
测试结果。
conf和pureftpd—mysq1.cqnf的改动,都需要重新启动
'
,
mysqt和p ̄eftpd,使新 配置文什生效,使用以下命
爪
#/usr/local/share/mysql/mysq1.serve! stop
#/usr/local/etc/rc.(t/pure-ftpd.sh stirp
#/usr/local/share/mysql/mysq1.server start
#/usr/local/etc/rc.d/pure-ftpd.sh start
参考文献
[1]Frank DENIS.README.hnp://www.pureftpd.org/
README
f2]Frank DENIS.README.MySQL.http://www.pureflpd.
图3
org/README.MySQL
[3】马昕炜.Linux服务器配置手册.北京:科学出版丰十,2005:
③修改/etc/rc.conf文件,加入下面两条内容.使系
253—282
统重新启动后自动驱动mysql和pureftpd.提供
[4】王波.FreeBSD使用大全(第二版).北京:机械 业出版
MySQL和FTP服务。 ‘
社.2002:206 ̄215
mysqlenable=“yes”
(收稿日期:2005—11—09)
_
pureftpd
_
enable=”yes”
Build of FTP Server using
Pu re-FTPd and MySQL on FreeBS D
XU Lu—hui
(College of Computer ant]Infi)nnation Engineering,Henan University,Kaifeng 475004 China)
Abstract This paper simply introduced丌P service.FreeBSD operation system and Pure—FrrPd.then disussed how to
build a丌P server using Pure—FTPd and MySQL on FreeBSD.
Key WOrds
丌P Server;FreeBSD;Pure-FTPd;MySQL
MO D ERN COM PUTE R 2 2 @
面
版权声明:本文标题:在FreeBSD上使用Pure-FTPd 和MySQL构建FTP服务器 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713068241a618292.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论