January 31, 2004

这两天被新网搞死了

春节回来上班就发现公司的对外服务的域名wapya.com开始不正常,接着开始邮件不能接受,最后索性不能访问。老板的电话也随之而来。。。。。

马上给新网打客服电话,然后开始漫长的队列等待,打了差不多一个小时,愣是没人来接听,算了,估计过了晚上就会好。

去一些论坛逛了一下,发现不少朋友的域名都出了问题,看来这次新网的客户都受到影响了,看来先得自己做个dns,于是在自己的linux服务器做了个解析自己域名的dns,可是最令人不可理解的是,新网的mydns居然不支持把ns纪律指向我的dns,老是提示修改dns服务报错,看来最后一个希望也报破灭,
该死的新网,作为中国最大的域名服务商,服务质量太差了。

直到现在都快3天了,新网的dns还是时坏时好,不知道什么时候会好。

frank发表 于04:25 PM | 回复(11) | 引用(0)

January 30, 2004

情人节的礼物

原文地址:http://diary.tom.com/view.php?id=20224&UserName=ladly

情人节就要到了,每年情人节都要为送礼物费尽心思,今年送什么您想好了吗?既要表达

心中浓浓爱意,又不想落入俗套。选礼物可要多费点心思哟!
  下面我们列出一些还不错的节日礼物,如果您正在为送什么礼物而发愁,可以参考一下,或

许会对你有所帮助。当然你有什么好的点子,也可给我们来信。

巧克力:是最传统的情人礼物,如果你暂时还不清楚她的喜好,送巧克力会是个不错的选择。

我们为你准备了特制的巧克力,可以把你要说的话甚至你的照片用最先进的蒙太奇技术制作在巧克力的外包装上,绝对是全新的感觉。
101113.jpg

  鲜 花:是个永远新鲜而浪漫的礼物,不同种类和数量的鲜花代表不同的含义,相信一定能

选择一束让她欢心的花束。
  香 水:香水是爱情的灵药,解救了每一颗孤寂的心,她可以带给你奇妙的感觉。不信,您

可以读一读这篇“香水”。
  领 带:送给男孩的最经典的礼物,精心挑选一条领带送给你心爱的人,约会的时候,看见

他系着你送的领带走过来,会有什么样的好心情就不必说了。

  皮 带:皮带的含义是束缚,用你的温柔缚住他的心,一条优质的皮带,寄托着你无限的痴

情,让他在感觉爱情的甜蜜时增加一份责任。
  糖 果:糖果是甜甜蜜蜜的象征,而且送给什么人都不错。这点上它比巧克力更广泛些。
  打火机:选一只精美的打火机送给男友也是一个非常不错的主意。

  选一张好听的CD或者浪漫的烛光晚餐,都会给你心爱的人留下美好的回忆……

  有朋友说:过完了情人节,又是过生日,第一次相识纪念日……等等,该送的差不多都送过

了,我是真的不知道送什么好了。其实,只要你是真心爱她,你肯定会知道该送什么。

frank发表 于01:43 PM | 回复(0) | 引用(0)

January 29, 2004

Pure-FTPd初步接触

看了Netkiller(陈景峰)写的Pure-FTPd + LDAP + MySQL + PGSQL + Virtual-Users + Quota How To感觉Pure-FTPd还是比较强大的,今天先安装一下。

wget ftp://ftp.pureftpd.org/pub/pureftpd/releases/pure-ftpd-1.0.17a.tar.gz

tar zvxf pure-ftpd-1.0.17a.tar.gz

cd pure-ftpd-1.0.17a

./configure --prefix=/usr/local/pureftpd --with-mysql --with-puredb --with-shadow --with-pam --with-paranoidmsg --with-welcomemsg --with-uploadscript --with-cookie --with-virtualchroot --with-virtualhosts --with-virtualroot --with-diraliases --with-quotas --with-sysquotas --with-ratios --with-ftpwho --with-throttling --with-language=simplified-chinese

make

make check

make install

mkdir /usr/local/pureftpd/etc #搞不明白为什么系统没建立这个文件夹


cd configuration-file
chmod u+x pure-config.pl
cp pure-config.pl /usr/local/pureftpd/bin
cp pure-ftpd.conf /usr/local/pureftpd/etc
cd ..
cp pureftpd* /usr/local/pureftpd/etc/

修改pure-ftpd.conf 让他基本使用起来,并保证基本的安全,过几天再慢慢研究

vi /usr/local/pureftpd/etc/pure-ftpd.conf
默认的配置文件只支持匿名登录,你只要稍微修改一下就可以支持lunix系统用户登陆了


ChrootEveryone yes
AnonymousOnly no
#是否只让匿名登录
NoAnonymous yes
#不开放匿名登入
UnixAuthentication yes
#如果你想要有简单的Unix(/etc/passwd)的认证的話
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
#(”.”)开头的文件能不能被读/写

启动pure-ftpd

/usr/local/pureftpd/bin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf

用你的客户端试验一下,看到的登录信息可是中文哦

今天不讲详细的配置了,以后会讲具体的应用,还有访问pure-ftpd的官方网站非常不方便,见鬼了,国内怎么这样的网站都要屏蔽了,这可是开源软件网站呀:(

frank发表 于10:57 PM | 回复(2) | 引用(0)

让proftpd支持上传sfv校验

这个应用在Serv_U应用很广,今天我们要讲怎么使proftpd也支持这个功能。

1。先下载一个sfv的插件
http://www.bunker-werk.net/proftpd/下载http://www.bunker-werk.net/ftpsfv/ftpsfv-0.1.5.tar.bz2

2。编译安装


tar jvxf ftpsfv-0.1.5.tar.bz2
cd ftpsfv
./configure
make
make install

#默认安装在/usr/local/ftpsfv 你可以通过--prefix来指定安装地址

3。ftpsfv设置
vi /usr/local/ftpsfv/etc/ftpexecd.conf

User = root
Group = root
#启用ftpexec服务的用户和用户组,你也可以指定为nobody,但前提是你是对sfv.fifo文件有写的权限
fifoFile = /var/log/sfv.fifo
logFile = syslog
# 如果设置为"none",则不写入log日志
# 设置为"syslog", 写入log日志
Exec = /usr/local/ftpsfv/bin/ftpsfvcheck.pl
#默认设置就行

vi /usr/local/ftpsfv/bin/ftpsfvcheck.pl


根据你的需要设置,比如

my $user = "root"
my $group = "root"
#设置成跟conf文件一样就行,
my $sitename = "ftpSFV";
#设置成你要显示的ftp站名就行
my @exclude_dirs = ("");
#这是设置哪些目录可以不用检验sfv文件。默认都检测

4。proftpd设置

vi /usr/local/proftpd/etc/proftpd.conf

加入如下设置


Logformat sfv "%m %f
ExtendedLog /var/log/sfv.fifo WRITE sfv

保存退出

5。启用ftpsfv

启动ftpxsfv
/etc/rc.d/init.d/ftpexecd start

然后重启一下proftpd
/etc/rc.d/init.d/proftpd restart

好了,上传一个sfv文件试验一下,应该能看到信息。

总体感觉这个sfv插件还不是很稳定,我试验了几下,有时成功,有时没反应,不知什么原因。还请大家指教

frank发表 于08:30 PM | 回复(7) | 引用(0)

January 28, 2004

Pure-FTPd 真的很强吗?

整个春节一直在研究proftpd,但研究的结果感觉比起windows下的Serv_U还是不是很灵活,今天无意中又看了一篇文章Pure-FTPd + LDAP + MySQL + PGSQL + Virtual-Users + Quota How To,发现Pure-FTPd好强大哦,不用看别的,我就看了一下他和mysql结合的数据库结构就知道这个软件非常灵活,他甚至可以用数据库来配置带宽,和上传/下载率,以及ip访问限制,就这三点就比proftpd的数据库厉害。

曾经有位高手对我说,如果你会熟练配置proftpd,但你不会为proftp打安全补丁,还不如不用,我还真是不会为proftpd打补丁哦,虽然我对他现在已经比较熟悉了,看来proftpd的安全很成问题。不知道Pure-FTPd的安全性怎么样,如果可以的话,我会毫无顾虑的抛弃proftpd,使用Pure-FTPd,vsftp安全是安全,但功能实现实在不敢恭维。

过几天好好研究一下Pure-FTPd,看来这个月我对FTP有过节了,哈哈。

那么

frank发表 于09:06 PM | 回复(2) | 引用(1)

Proftpd FAQ汇总

1。如果使proftpd服务端支持FXP功能

To support FXP when connecting as a user place "AllowForeignAddress on" in the Global or VirtualHost context.
To support FXP when connecting as anon "AllowForeignAddress on" must be placed in the Anonymous context.
The config will happily support "AllowForeignAddress on" in multiple places within the config..
You may need to add the following "PassivePorts 49152 65534"

要想proftpd支持FXP功能,请在适当的地方加入"AllowForeignAddress on",这个参数,这个参数可以放在全局段,或者虚拟ftp段,如果你要使匿名用户支持FXP,则需要把这个参数放在Anonymous段。
另外如果需要的话,还可以加上"PassivePorts 49152 65534" 这个参数(不是必须)。

2。"Fatal: unable to determine IP address of "hostname:

一般出现这个错误,你只要修改/etc/hosts这个文件,添加你服务器对应的ip地址就行

3。安装完proftpd,启动报No such group "nogroup"错误

默认系统没有"nogroup"这个用户组,才会报这个错误,只要把nogroup改成nobody就行,重新启动就不会报错

4。如何实现一个用户登录以后将其的访问限定在某个目录之下?

可以通过指令DefaultRoot来实现。例如若希望将ftpusers组的用户限定在自己的home目录下,则需要首先创建该组:
/usr/sbin/groupadd ftpusers
然后将用户kaoyan加入到该组中:
usrmod -G ftpusers kaoyan
最后在在proftpd.conf文件中添加如下内容:
DefaultRoot ~ ftpusers

5。如何使用户登陆时不显示ftp服务器版本信息,以增强安全性  

ServerIdent off

6。默认安装proftpd,发现上传文件无法做到断点续传,下载却可以

proftpd默认就支持下载断点续传,但上传就必须设置才能支持

AllowStoreRestart on #这样设置就使服务器支持断点上传续传了

7。如何关闭proftpd把log日志写到wtmp

WtmpLog off
  
不断更新中。。。

frank发表 于11:56 AM | 回复(7) | 引用(0)

January 27, 2004

Zend精品软件下载

不用我说了,这可是好冬冬哦,用php的朋友我想应该会喜欢他的,以下软件都已经包含license,大家偷着乐吧,呵呵:)

1.Zend.Performance.Suite.v3.6.0.for.Linux license文件

2.Zend.Performance.Suite.v3.6.0.for.FreeBS license文件

3.Zend.SafeGuard.v3.1.0e.for.Linux license文件

4.Zend.SafeGuard.v3.1.0c.for.FreeBSD license文件

5.Zend.SafeGuard.v3.1.0d.for.Windows(包含license)

frank发表 于11:30 AM | 回复(10) | 引用(0)

January 26, 2004

MT升级到2.661

这次升级比较重要,因为近来利用MT的评论功能,留下垃圾信息的现象越来越多了,有点防不胜防。

这次主要是修正了评论系统,避免了comment spam的广告骚扰,可以设置同一个ip地址过来的评论相隔时间多少秒,你可以设置成30秒或者更长,如果超过相隔的行为超过一定次数的话,系统默认就把这个ip地址加到黑名单里,而且以前默认评论留下的网址,现在都不直接显示留言方的网址,而是直接转到转向页面,一定程度可以避免一些人利用评价系统提高搜索引擎排名。下载地址:

http://www.movabletype.org/download.shtml

期盼MT3.0有更加强大的功能:)

frank发表 于08:53 PM | 回复(2) | 引用(0)

January 25, 2004

proftpd学习笔记(四)

今天我们讲proftp+mysql+quota的应用,我想大家最期待的就是这个了吧

1.首先我们建立相应的用户和用户组

groupadd -g 5500 ftpgroup
adduser -u 5500 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser

2.操作数据库

mysql mysql -uroot -ppassword
create database ftpdb
grant select, update on ftpdb.* to proftpd@localhost identified by 'password'

use ftpdb


CREATE TABLE `ftpgroup` (
`groupname` varchar(16) NOT NULL default '',
`gid` smallint(6) NOT NULL default '5500',
`members` varchar(16) NOT NULL default '',
KEY `groupname` (`groupname`)
) TYPE=MyISAM COMMENT='ProFTP group table';

INSERT INTO `ftpgroup` VALUES ('ftpgroup', 5500, 'ftpuser');

CREATE TABLE `ftpquotalimits` (
`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'
) TYPE=MyISAM;

CREATE TABLE `ftpquotatallies` (
`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'
) TYPE=MyISAM;

CREATE TABLE `ftpuser` (
`id` int(10) unsigned NOT NULL auto_increment,
`userid` varchar(32) NOT NULL default '',
`passwd` varchar(32) NOT NULL default '',
`uid` smallint(6) NOT NULL default '5500',
`gid` smallint(6) NOT NULL default '5500',
`homedir` varchar(255) NOT NULL default '',
`shell` varchar(16) NOT NULL default '/sbin/nologin',
`count` int(11) NOT NULL default '0',
`accessed` datetime NOT NULL default '0000-00-00 00:00:00',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='ProFTP user table' ;

注意这里大家根据实际情况填写自己数据库的用户名和密码,如果大家对数据库操作不熟悉的话,不妨可以用phpmyadmin来操作。

3.配置proftp文件

ServerName "Frank's FTP Server" ServerType standalone DefaultServer on

Port 21

Umask 022

MaxInstances 30
MaxLoginAttempts 3

User nobody
Group nobody

MaxHostsPerUser 1 "Sorry, you may not connect more than one time."
MaxClientsPerUser 2 "Only one such user at a time."
MaxClientsPerHost 3 "Sorry, you may not connect more than one time."

RootLogin off
RequireValidShell off
TimeoutStalled 10
MaxClients 10
AllowForeignAddress on
AllowStoreRestart on
ServerIdent off
DefaultRoot ~ ftpgroup

SQLAuthTypes Backend Plaintext
#Backend表示用户认证方式为MySQL数据库的认证方式
#Plaintext表示明文认证方式,排在最前面的为最先使用的方式
SQLAuthenticate users* groups*

# databasename@host database_user user_password
SQLConnectInfo ftpdb@localhost proftpd password
SQLUserInfo ftpuser userid passwd uid gid homedir shell
SQLGroupInfo ftpgroup groupname gid members
SQLHomedirOnDemand on
#如果用户主目录不存在,则系统会根据此用户在用户数据表中的homedir字段的值新建一个目录
# Update count every time user logs in
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE "count=count+1,accessed=now() WHERE userid='%u'" ftpuser
# Update modified everytime user uploads or deletes a file
SQLLog STOR,DELE modified
SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser

QuotaEngine on
QuotaDirectoryTally on
QuotaDisplayUnits Mb
QuotaShowQuotas on
QuotaLog "/var/log/quota"
SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avai
l, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}'
AND quota_type = '%{1}'"

SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_i
n_used, files_out_used, files_xfer_used FROM ftpquotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"

SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used
+ %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_
out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquota
tallies

SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies

QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally


ok,就这么简单,重启一下proftp服务就已经能使用proftp+mysql+quota的功能

我们可以在数据库ftpuser添加一个虚拟用户,

INSERT INTO `ftpuser` VALUES (1, 'test', 'ftppasswd', 5500, 5500, '/home/test', '/sbin/nologin');

大家可以在phpmyadmin里直接操作添加一个用户,相信不用我教大家怎么添加吧:)

如果你想设置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: - 允许传输的文件数(包括上传/下载)

老实说用mysql和quota模块来验证用户和设置磁盘限额,但我总觉得还是不够完善,因为在这个方法中,数据库表里还没有相应的权限的字段,所以说相应用户的权限还是得用实际得用户即mysql对应得uid和gid来控制权限,那天要是mysql数据库也能完全控制权限就好了。

大家如果觉得格式拷贝的时候可能会出错的话,不妨直接下载我的配置文件和数据库表

下载proftpd.conf
下载ftpdb.sql

只是我的数据库表里对应的uid和gid都是5500,大家可根据自己的情况修改:)注意消化哦。

这个春节一直在学习proftp,终于可以松口气了,希望我的学习笔记可以对一些想学习proftp的朋友有所帮助,请多交流

相关文章:
proftpd学习笔记(一)
proftpd学习笔记(二)
proftpd学习笔记(三)

参考文档:
Mandrake 9.2 + Proftpd + MySQL authentication + Quotas Howto
proftpd + mysql + quota配置完全指南
Proftpd Configuration Docs

frank发表 于06:16 PM | 回复(22) | 引用(0)

January 24, 2004

过生日了,高兴

又大了一岁了,好高兴哦,今天老婆都给我安排好了,狂欢去了,哈哈,proftp的文档只能回来再写了,呵呵:)

先给自己个大蛋糕庆祝一下^_^

Img20031211166632.jpg

...
...
...

哈哈,今天终于尝到了哈根达斯的冰淇淋火锅,贵了点,但很有情调

1111t08-1.jpg


frank发表 于11:58 AM | 回复(3) | 引用(0)

January 23, 2004

Linux 就是钱

“ Linux 就是钱”

  美国扬基集团的分析师劳拉·迪迪诺如此评价称:

  “和 Novell 公司相似,SUN 公司把发展 Linux 产品视作实现自我突破的新生命线——生活在 IT 界的人们都清楚,Linux 已经成为‘钱’的代名词。”


哈哈,连sun公司都加入支持开源软件的行列,看来linux真的是“钱”途无量啊!去年我离开Windows阵营,投入linux的怀抱的决定真是很英明呀:)

frank发表 于11:13 PM | 回复(2) | 引用(0)

proftpd学习笔记(三)

前面的两个笔记,我想大家对proftp的设置应该有些认识,是不是跟apache的配置差不多吧。我想配置过Serv_U服务器的,再稍微看一下proftp的配置规则,应该能马上能配置出一个强大的proftp服务器。

这里我们再讲一些proftp的其他参数配置:

MaxHostsPerUser 1 "对不起,每个帐户最多允许来源ip为1个"
#MaxHostsPerUser 对防止ftp帐号还是比较有用的。

MaxClientsPerUser 1 "对不起,每个帐户在每个客户端最多可以同时登陆1次"
#这个参数可以防止多线程软件下载对服务器的破坏

MaxClientsPerHost 1 "对不起,同一个客户端只能最多1个帐号可以登陆"
#比如ftp服务端有好多帐户你都有,但也只能用1个帐号登陆

呵呵,这三个Max参数比较容易搞晕,大家可要搞清他们的含义哦:)

WtmpLog on
#是否要把ftp记录在日志中,如果不想可以设置成off屏蔽掉log日志。

TimeoutIdle 600
#客户端idel时间设置,默认就是600秒

DisplayLogin welcome.msg
#设置ftp登陆欢迎信息文件

关于欢迎文件的设置包含如下参数

%T 目前的时间

%F 所在硬盘剩下的容量

%C 目前所在的目录

%R Client 端的主机名称

%L Server 端的主机名称

%U 使用者帐户名称

%M 最大允许连接人数

%N 目前的服务器连接人数

%E FTP服务器管理员的 email

%i 本次上传的文件数量

%o 本次下载的文件数量

%t 本次上传+下载的文件数量

知道这些参数,我们就可以写出一个友好的欢迎语

vi /home/kaoyan/welcome.msg

欢迎您%U, 这是Frank的测试FTP服务器;
目前时间是:%T;
本服务器最多允许%M个用户连接数;
目前服务器上已有%N个用户连接数;
目前你所在的目录是%C;
目录所在的硬盘还剩下%F字节。


让proftp支持现在流行的FXP传输方式,默认是不支持的。
只要在服务端设置

AllowForeignAddress on

PassivePorts 49152 65534 #端口也可自己指定喜欢的

千万别忘了在客户端也要设置成支持FXP哦,否则想我试验了好几次,一直以为服务器没设置好,其实就是客户端没设置,呵呵。

如何让root能登陆,默认proftp是不支持root登陆,我们可以设置让root也能登陆ftp,不过我在这里还是建议大家最好不要让root能登陆ftp,设置如下

RootLogin on

如何禁止某个地址访问ftp
比如禁止10.1.1网段的机器访问ftp,可以这么设置

<Limit LOGIN>
Order deny,allow
Deny from 10.1.1.
Allow from all
</Limit>


虚拟ftp的建立,一般用于一台ftp服务器有好多ip地址,或者ftp用不同的端口,基本设置语法是:

比如我们要做一个端口是5555的ftp服务器:

<VirtualHost 210.51.0.124>
ServerName "Frank FTP Server"
Port 5555
...
<Directory 目录>
...
<Limit 动作>
...
</Limit>
...
</Directory>
</VirtualHost>


至于虚拟主机中的其他设置跟我以前讲的基本差不多

上传/下载比率设置,我想用过Serv_U的朋友一定知道这个功能的使用,我们这里让proftp也实现这个功能。
要实现功能注意编译的时候加入ratio模块,否则proftp默认是不支持,假设有个帐户ftp1的ftp目录在/home/kaoyan ,然后我们设置ftp1的上传/下载比率是1:2(即上传1M,就可以下载2M)

touch /home/kaoyan/ratio.dat
touch /home/kaoyan/ratio.tmp
chmod -R 666 /home/kaoyan

在proftpd.conf设置如下

Ratios on
SaveRatios on
RatioFile /home/kaoyan/ratio.dat
RatioTempFile /home/kaoyan/ratio.tmp

在相应的设置项里添加

UserRatio ftp1 0 0 2 1000

#UserRatio "使用者帐户" fileratio filequota byteratio bytequota
#  fileratio :以文件为基础的比率,通常不限制,故为 0
#  filequota :预设置能下载多少文件,不限制时为 0
#  byteratio :就是上传/下载的比例,如果数字为2,表示1:2
#  bytequota :预设置能下载多少 KBytes 的文件
#上面设置的就是1:2的比率,默认只允许下载1M的文件

ok,重启一下,以后ftp1就可以启用上传/下载比率了



相关文章:
proftpd学习笔记(一)
proftpd学习笔记(二)
proftpd学习笔记(四)


frank发表 于08:17 PM | 回复(0) | 引用(0)

January 22, 2004

给大家拜年了

感谢大家对我网站的支持,我会继续努力:)

101002.gif


祝:
大家在猴年心想事成,万事如意,财源滚滚^_^

frank发表 于09:50 AM | 回复(0) | 引用(0)

January 21, 2004

proftpd学习笔记(二)

上次我们讲了proftp的基本安装,由于我们后面有关于mysql和quota的设置,所以编译的时候把相应的模块都编译进去了,如果你不需要mysql和磁盘限额的功能,完全可以不需要这么编译。

这里要讲一个非常实用的命令,

/usr/local/proftpd/sbin/ftpshut

这个命令还是比较实用的,因为你可能需要不断的调整你的服务器,而这个命令就非常灵活,可以在不停止proftpd进程的前提下,定时停止ftp连接,这里将会详细说它是怎么使用的。

ftpshut [ -l min ] [ -d min ] time [ warning-message ... ]

-l min: 在ftp关闭服务之前的几分钟内,尝试建立新的ftp连接均不被接受
-d min: 在ftp关闭服务之前的几分钟内,已经建立的ftp连接将被中止
time: 在多少时间后,服务器将关闭ftp服务,格式有两种
+number 经过number分钟后关闭
MMHH 在今天MM:HH服务器将关闭

注意,这里我们用这个命令是把ftp服务给停了,但实际的proftpd进程还没停止,所以一般调试ftp会使用到这个命令。

举例:
再经过30分钟后,FTP服务将关闭,在这之前的20分钟不可接受任何新的ftp连接,已经建立的在服务关闭前10分钟强制断线,并在客户端显示“FTP Server Will shutdown at time”

ftpshut -l 20 -d 10 +30 "FTP Server Will shutdown at time"

其实ftpshut就是产生/etc/shutmsg ,你只要删除这个文件ftp又可以重新服务,或者
直接

ftpshut -R

好了,开始讲一些proftpd的基本配置吧,其实大家如果熟悉apache的配置的话,你会发现proftpd的设置基本都是类似的,它的配置基本格式是

#全局设置
设置项目1 参数1
设置项目2 参数2

#某个目录的设置
<Directory "路径名">
...
...
</Directory>

#关于匿名用户的设置
<Anonymous "匿名登陆的目录">
...
...
<Limit 限制动作>
...
...
</Limit>
</Anonymous>

我们用到的比较多的可能是Limit的使用,Limit大致有以下动作,基本能覆盖全部的权限了,大家灵活使用就是了。

CMD:Change Working Directory 改变目录
MKD:MaKe Directory 建立目录的权限
RNFR: ReName FRom 更改目录名的权限
DELE:DELEte 删除文件的权限
RMD:ReMove Directory 删除目录的权限
RETR:RETRieve 从服务端下载到客户端的权限
STOR:STORe 从客户端上传到服务端的权限
READ:可读的权限,不包括列目录的权限,相当于RETR,STAT等
WRITE:写文件或者目录的权限,包括MKD和RMD
DIRS:是否允许列目录,相当于LIST,NLST等权限,还是比较实用的
ALL:所有权限
LOGIN:是否允许登陆的权限
针对上面这个Limit所应用的对象,又包括以下范围
AllowUser 针对某个用户允许的Limit
DenyUser 针对某个用户禁止的Limit
AllowGroup 针对某个用户组允许的Limit
DenyGroup 针对某个用户组禁止的Limit
AllowAll 针对所有用户组允许的Limit
DenyAll 针对所有用户禁止的Limit
关于限制速率的参数为:
TransferRate STOR|RETR 速度(Kbytes/s) user 使用者


下面我们以例子来解说proftp的配置,这样大家可能更加容易理解。

1。ftp服务器支持断点续传,且最大支持同时10人在线,每个ip只允许一个连接;
2。允许ftpusers用户组只能访问自己的目录,而不能访问上级或者其他目录;
3。用户登陆服务器时不显示ftp服务器版本信息,以增加安全性;
4。建立一个kaoyan的ftp帐户,属于ftpusers组,kaoyan用户只允许下载,没有可写的权限。下载速率限制在50Kbytes/s。
5。建立一个upload用户,也属于ftpusers组,同kaoyan用户的宿主目录一样,允许upload用户上传文件和创建目录的权限,但不允许下载,并且不允许删除目录和文件的权限,上传的速率控制在100Kbytes/s

先是前期的用户和组添加以及目录的权限设置

group add ftpusers
useradd -d /home/kaoyan -g ftpusers -s /bin/fales kaoyan
useradd -d /home/kaoyan -g ftpusers -s /bin/fales upload
chown -R kaoyan:upload /home/kaoyan
chmod -R 775 /home/kaoyan

如果你只想ftpusers组的用户访问,可以设置成770都行。
设置/usr/local/proftpd/etc/proftpd.conf

注意#表示注释,对设置没影响,可以不写

ServerName "Frank's FTP Server"
ServerType standalone
DefaultServer on
Port 21
Umask 022
MaxInstances 30 #最多有30个proftpd的PID
User nobody
Group nobody
TimeoutStalled 10
MaxClients 10 #最多允许10个用户在线
MaxClientsPerHost 1 "对不起,一个IP只允许一个连接"
AllowStoreRestart on
#允许断点续传(上传),断点续续(下载)是默认支持的,不用设置
DisplayLogin welcome.msg #欢迎词文件
ServerIdent off #屏蔽服务器版本信息
DefaultRoot ~ ftpusers #设置ftpusers组只能访问自己的目录

<Directory />
AllowOverwrite on
</Directory>
<Directory /home/kaoyan>
<Limit WRITE> #不允许写
DenyUser kaoyan
</Limit>
<Limit RMD RNFR DELE RETR> #不允许删除,改名,下载
DenyUser upload
</Limit>
TransferRate RETR 50 user kaoyan
TransferRate STOR 100 user upload
</Directory>


我这里实现的方式还可以通过

<Anonymous ~kaoyan>

...

...

</Anonymous>

<><Anonymous ~upload>

...

...

</Anonymous>

而且更加灵活,具体用那种方式,看大家了,我只是给大家入个门而已

好了,今天就讲到这里,明天继续讲一些proftp的其他配置

相关文章:
proftpd学习笔记(一)
proftpd学习笔记(三)
proftpd学习笔记(四)

frank发表 于01:22 PM | 回复(10) | 引用(0)

January 20, 2004

proftpd学习笔记(一)

这几天,公司终于放假了,终于可以安下心来好好学些proftp+mysql+quota。

安装proftp之前,必须先做一个工作,假如你的mysql是自己编译的,那就必须先修改/etc/ld.so.conf,否则后面运行proftp会报错。
vi /etc/ld.so.conf

添加下面一行:

/usr/local/mysql/lib/mysql

注意大家如果mysql的安装路径于我不一样,则填写相应的路径,有关mysql的编译安装请参考《Linux+Apache+Mysql+PHP典型配置》

1。下载相关软件

wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.9.tar.gz
下载proftp的最新版本1.2.9
wget http://www.castaglia.org/proftpd/modules/proftpd-mod-quotatab-1.2.11.tar.gz
这是配合proftp的磁盘限额的模块

2。解压编译

tar zvxf proftpd-1.2.9.tar.gz

tar zvxf proftpd-mod-quotatab-1.2.11.tar.gz

cp mod_quotatab/*.c proftpd-1.2.9/contrib/

cp mod_quotatab/*.h proftpd-1.2.9/contrib/

vi proftpd-1.2.9/contrib/mod_sql_mysql.c
找到#include 这一行,将mysql.h改成你的系统中此文件所在的路径, 如/usr/local/mysql/include/mysql/mysql.h

编译:

./configure \
--prefix=/usr/local/proftpd \
--with-modules=mod_sql:mod_sql_mysql:mod_quotatab\
:mod_quotatab_sql:mod_ratio \
--with-includes=/usr/local/mysql/include/mysql \
--with-libraries=/usr/local/mysql/lib/mysql
make

make install

这里我们编译的时候已经加进了mysql,quota,ratio等模块的支持,我会在后面讲他们的应用

ok, 现在我们可以来启动proftp了,只要

/usr/local/proftpd/sbin/proftpd

用你的ftp客户端试验以下,应该可以正常登陆,包括匿名和linux用户名可以。

其实默认的proftp满足日常的服务器管理用还是绰绰有余的,有个地方还是要修改一下,就是默认proftp的配置文件不支持ftp续传,所以我们只要

vi /usr/local/proftpd/etc/proftpd.conf

添加以下两行

AllowRetrieveRestart on
AllowStoreRestart on

重新启动以下proftp,就可以正常续传文件了。

创建proftpd脚本

只要在proftp的源代码目录

cp proftpd-1.2.9/contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd

记得修改proftpd文件,一般要修改proftpd的实际路径

chmod 755 /etc/rc.d/init.d/proftpd

ok

以后就可以用这个教本来启动,停止,重启proftp

呵呵,今天就讲这些,明天讲些proftp的一些基础配置:)

相关文章:
proftpd学习笔记(二)
proftpd学习笔记(三)
proftpd学习笔记(四)

frank发表 于09:30 PM | 回复(26) | 引用(0)

January 19, 2004

用SecureCRT来上传和下载数据

今天才知道,原来SecureCRT可以使用linux下的zmodem协议来快速的传送文件,而且还使用非常方便哦,我还傻傻的找其他软件来sftp,笨死了:(

你只要设置一下上传和下载的默认目录就行
options-->session options-->file transfer 下可以设置上传和下载的目录

剩下的你只要在用SecureCRT登陆linux终端的时候:

发送文件到客户端:

sz filename

zmodem接收可以自行启动.

从客户端上传文件到linux服务端:
只要服务端执行,

rz

然后在 SecureCRT 里选文件发送,协议 zmodem

简单吧,如果你以前一直使用ssh,而又没有对外开放ftp服务,你就直接使用这种方式来传输你的文件吧,很方便哦:)

frank发表 于11:21 PM | 回复(10) | 引用(0)

我对refer黑名单的看法

今天终于让我碰到在refer页面有有颜色的网站的反向链接,最讨厌这些网站,有些网站就是想通过你的网站的排名来提高他在搜索引擎的排名,其行为太龌龊了:(

另外发现有些人通过留言来增加他的反向链接,添一些无关紧要的留言,这些人都是司马昭之心,路人皆知,对于这些留言我会直接把他们的网址直接给屏蔽掉,请不要来问我为什么!!!

参考了酋长的Refer 2.1 加上黑名單,觉得还是不够彻底,我觉得最好在robot.txt 直接把refer目录给屏蔽掉,省得搜索引擎来搜索。

frank发表 于10:12 AM | 回复(0) | 引用(0)

January 17, 2004

回家的季节

下午又开始稀稀拉拉的下小雪了。真的很怪,每年到这个时候,大家忙着赶回家过年的时候,北京总是会下雪,好像在崔像我一样的南方人:“下雪了,天气要冷了,还是快会南方老家过春节吧”

今年也不例外,雪是如期来报到。不过今年我准备在北京过年,也是临时决定,虽然已经一年没有回家了,而且下雪也勾起了我的思乡情绪,但想想在北京过个年也挺好,说不定明年就不在北京了,到时会后后悔怎么就每在北京过个年。从不少北京的同事打听到其实京城春节的庙会还是挺有趣的,决定了,就在庙会中度过这个北京的春节:)

祝远方的亲人春节快乐!

frank发表 于11:52 PM | 回复(0) | 引用(0)

Proftpd + MySQL 认证 + Quotas Howto

以前也曾经研究过,不过研究了两天最终还是没有成功,真是失败呀。
决定在春节期间把这个应用给做出,先给出一个链接,都是非常经典的,省得到时自己再找,大家不妨也去看看

1。Proftpd + mysql + quota
2。Mandrake 9.2 + Proftpd + MySQL authentication + Quotas Howto
3。Proftpd auth/quota/(simple)log <-> postgresql (mysql) mini howto
4。Mod_SQL und Mod_Quota Unterstuetzung


我想先好好看看这些文章应该很快能做出来。

frank发表 于05:47 PM | 回复(2) | 引用(0)

January 16, 2004

为linux服务器增加新分区

一直没在正式的服务器上新安装过新的分区,也没这个机会,可好这次朋友高春辉的的手机之家的服务器出现硬盘问题,没办法,只能拿出以前学习笔记,在他的服务器上进行小白鼠试验,哈哈,高兄看到肯定又翘胡子了,这可不能怪我哦。

其实还是很简单的,只不过每次重启机器都是那么紧张,生怕修改了fstab后,系统起步来,嘿。

这次都是通过远程操作,这在windows上好像有点不可想象,linux就是好,什么都能远程操作。

高在机房加入新硬盘后,我就通过ssh登陆开始添加新的分区了。

这次我们主要是想把以前的sdc1即/home分区,挪到新加的硬盘上去。sdc我们通过badblocks命令检查出有很多,而且经过多次修复尝试后,宣告失败,所以才会决定用新的硬盘换这个有问题的硬盘。

新的硬盘是sdb,先分区先;

fdisk /dev/sdb

如果以前有分区的话,最好用d命令先删除

然后用n命令添加新的分区。

这个应该很反便吧,我想我不用介绍了,如果你要添加swap分区的话,记得分区的代码是82,而不是默认的linux代码83。

记得w命令保存退出哦,一定要保存。

ok,分区后当然是格式化了,

mkfs.ext3 -c /dev/sdb1

注意这里我用了 -c 选项用“read-only”方式检查硬盘。这个命令会在格式化硬盘时检查硬盘,并标出错误的硬盘“block”。用这个方法格式化硬盘,需要有相当大的耐心,因为命令运行后,会一个个用读的方式检查硬盘。

格式话后,我觉得有必要检查一下你的新硬盘是否有坏道,可能被坏道弄怕的缘故吧。

badblocks -b 4096 -c 16 /dev/sdb1 -o sdb1-badblocks-list

“-c number of blocks”是检查的次数,默认是16次。这样的命令需要耐心等待。其中,“badblocks”以4096的一个block,每一个block检查16次,将结果输出到“sdb1-badblocks-list”文件里。

如果硬盘正常的话,应该sdb1-badblocks-list是没有任何内容的,有就说明有坏道。

好了。分完区,格式化也好了,并且检查也没问题,最后的步骤是修改/etc/fsatb文件

很简单了,只要把以前home对应的分区,修改成现在的分区就行,当然如果有数据转移的请事先转移。
下面是我的针对新硬盘分区的设置

/dev/sdb1 /home ext3 defaults 1 2

很简单吧。


参考文档:Linux下两种修复硬盘坏道方法

frank发表 于11:11 PM | 回复(2) | 引用(0)

酷呀!IRiver出新品了

我最喜欢的mp3品牌,自己用的就是它的390T

来源:iRiver 2004 四款新品最新图片参数资料及评论

第一款:iFP800(闪存式mp3播放器)

117042.jpg117047.jpg

功能上,50小时的播放时间更是达到了旧系列产品的一倍以上,使得这一个一向为MD爱好者诟病的缺点得以剔除。而USB2.0的支持也让传输速度得到长足的提升。当然,缺点是体积依然保留了iFP100/300系列偏大的特点,而外形风格上并无太大的创新。

第二款:iHP300(硬盘式mp3播放器)

117060.jpg117067.jpg

iRiver在去年推出了备受好评的iHP100系列,强大的功能和保持一贯高水准的音质成为硬盘播放器中的王者iPod的一个强劲对手。而这次展示的iHP300除了性能上保持iHP100的高水准,更假如了彩屏和USB Host功能,这将意味这可以提供“DC伴侣”功能和图象浏览等功能,加上外观工艺上的提升,重新设计的按键使得整体更美观,高档的烤漆工艺视乎让笔者认为这是一台黑色版本的iPod。不过有点可惜的是iHP300将在iHP100上很受欢迎的四行液晶显示线控换成了无液晶显示线控。

第三款:iMP1100(CD/mp3/ DivX多媒体播放器)

117071.jpg117073.jpg

很多人认识iRiver可能是因为它的闪存式mp3“铁三角”iFP100,而其实iRiver最初是一家以生产CD/mp3播放器为主的厂商。IMP400和iMP550在外观性能上备受好评。而这次推出的展品iMP1100无疑把这一系列引进了一个新的高度。配备了2.0”TFT彩屏和支持DivX 多媒体格式和视频,让这台iMP已经不在局限于“随身听”的概念了。从按键上看似乎还支持游戏功能,令人期待。缺点是,在体积参数中看到,由于集成了彩屏厚度比较大。

第四款:PMP100(Personal Mutimedia Player个人多媒体播放器)

117081.jpg117085.jpg

这一款产品是iRiver新系列的产品,集成音频,视频,图片,游戏功能于一身, 采用Linux操作系统,是艾利和单独开发的便携式多媒体播放器。内置20GB硬盘,支持播放格式有DivX、MPEG-2、MPEG-4。从外形上看有点象一台掌式游戏机,外观上个人认为不错,提供视频播放使得iRiver的产品线延伸到了视频多媒体领域,实际表现值得期待。缺点是,播放时间只有5个小时(视频),偏短。

frank发表 于06:32 PM | 回复(0) | 引用(0)

January 14, 2004

用squid再次疯狂加速你的web

昨天给大家介绍了用tmpfs加速你的linux服务器,我觉得还是不够过瘾,今天趁热打铁继续学了一招,用squid来疯狂加速你的web网站,对自己web网站速度不满意的话,不妨试验一下我下面推荐的方法。

首先你得有squid代理服务器,怎么装我就不讲了,用redhat的直接使用她的rpm安装就行。
配置squid的配置文件,使其支持httpd加速器工作方式。
编辑“squid.conf”文件(vi /etc/squid/squid.conf),增加下面内容:

http_port 80
icp_port 0
acl QUERY urlpath_regex cgi-bin ?
no_cache deny QUERY
cache_mem 16 MB
cache_dir ufs /tmp 256 16 256
log_icp_queries off
buffered_logs on
emulate_httpd_log on
redirect_rewrites_host_header off
half_closed_clients off
acl all src 0.0.0.0/0.0.0.0
http_access allow all
cache_mgr admin
cache_effective_user squid
cache_effective_group squid
httpd_accel_host 210.51.0.124
httpd_accel_port 81


http_port”参数指定Squid监听浏览器客户请求的端口号,这里当然是80了

cache_dir ufs /tmp 256 16 256

cache_dir参数设定使用的存储系统的类型。一般情况下都类型应该是ufs,目录应该是“/tmp”,在该目录下使用的缓冲值为256MB,允许在“/tmp”下创建的第一级子目录数为16,每个第一级子目录下可以创建的第二级子目录数量为256


选项“httpd_accel_host”和“httpd_accel_port”定义了真正的Web服务器的主机名和端口号。在这里的配置中,真正的HTTP服务器运行在IP地址为210.51.0.124 (www.5ilinux.com)的主机上,运行端口为81。

ok,squid设置完毕。

接着设置apache,很简单,只要把你的httpd监听端口设置成81就成,然后重启你的apache。

接着重启你的squid服务,现在你访问你的web网站,已经是用了squid的http加速工作模式,你可以通过看squid的log日记看到他的运行情况。

我还是没搞明白怎么配合使用虚拟主机,以上方法只实现一个域名,不知大家有没有做过虚拟主机squid加速,提点一下吧

frank发表 于12:22 PM | 回复(11) | 引用(1)

January 13, 2004

巧用tmpfs加速你的linux服务器

今天从朋友高春辉那里又学了一招,就是使用tmpfs,我把他消化后用来实现虚拟磁盘来存放squid的缓存文件和php的seesion。速度快不少哦!

默认系统就会加载/dev/shm ,它就是所谓的tmpfs,有人说跟ramdisk(虚拟磁盘),但不一样。象虚拟磁盘一样,tmpfs 可以使用您的 RAM,但它也可以使用您的交换分区来存储。而且传统的虚拟磁盘是个块设备,并需要一个 mkfs 之类的命令才能真正地使用它,tmpfs 是一个文件系统,而不是块设备;您只是安装它,它就可以使用了。

tmpfs有以下优势:
1。动态文件系统的大小,
2。tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。
3。tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。

好了讲了一些大道理,大家看的烦了吧,还是讲讲我的应用吧:)

首先在/dev/stm建个tmp文件夹,然后与实际/tmp绑定

mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp


1。squid的缓存目录设置

vi /etc/squid/squid.conf

修改成
cache_dir ufs /tmp 256 16 256
这里的第一个256表示使用256M内存,我觉得高性能LINUX双效防火墙HOWTO使用ramdisk的方法还不如直接使用tmpfs,至少每次启动不用mkfs,还可以动态改变大小。

然后重启一下服务,ok,现在所有的squid缓存文件都保存倒tmpfs文件系统里了,很快哦。


2。对php性能的优化

对于一个访问量大的以apache+php的网站,可能tmp下的临时文件都会很多,比如seesion或者一些缓存文件,那么你可以把它保存到tmpfs文件。

保存seesion的方法很简单了只要修改php.ini就行了,由于我已经把/dev/stm/tmp与/tmp绑定,所以不改写也行,至于php程序产生的缓存文件那只能改自己的php程序了:)

希望我的这个方法,能对你有所启发。

参考文档:使用虚拟内存(virtual memory,VM)文件系统和绑定安装


frank发表 于04:13 PM | 回复(2) | 引用(0)

January 11, 2004

收到ChinaUnix的新年礼物

非常意外,我居然在www.chinaunix.net的2003年度ChinaUnix原创精华作品评比中,居然评了个第7名。详细信息看这里
http://bbs.chinaunix.net/forum/2/20040111/241354.html

为奖励我对CU的贡献,还奖励我一套正版的瑞星杀毒软件,好爽哦,虽然我从来不用瑞星的杀毒软件。

大家与我同乐吧:)

frank发表 于09:14 PM | 回复(0) | 引用(0)

January 10, 2004

公司养宠物了

我们公司真的很有趣,老板也会不时想出稀奇古怪的点子来,这不老板这次特意还从日本带来宠物给我们养,呵呵,这宠物可是大名鼎鼎的sony电子智能狗哦,据说已经第四代了。

小狗傻的可爱,大家迫不及待的耍弄它,由于还不是很会玩,弄得小狗一开始一会儿高兴,一会儿发怒。我也不时时机的抓拍了一些照片,很有趣哦!!!

图像(05).jpg

这是小狗起床的姿势,很可爱吧:)

图像(09).jpg

小狗醒来的跟你打招呼:挥爪

图像(02).jpg

小狗玩球,很聪明哦

图像(07).jpg

玩累了,我也得休息一下!

图像.jpg

我威武吧,谁敢侵犯我

呵呵,还有其他几个非常逗和高难度的动作,来不及抓拍,总之小狗很有趣呀。可惜不懂中文。要不还可以命令它蹲下或者起来的动作:)

图片都是用手机拍的,效果不是很好,以后要好好研究一下,把这狗养的乖乖的。


frank发表 于07:55 PM | 引用(0)

January 08, 2004

今天是周总理逝世27周年

1976年1月8日:人民的好总理周恩来逝世

我这辈子最尊敬和崇拜的伟人,可惜在我还没有出世的一个月就离开了我们。

zel.jpg


我永远怀念您!!
敬爱的周总理!!!
人民的好总理!!!!!

frank发表 于12:01 PM | 引用(0)

January 07, 2004

在Redhat各版本上安装Oracle 9i

今天发现一个很经典的冬冬哦

Installing Oracle 9i on RedHat Linux 7.1, 7.2, 7.3, 8.0, 9, Red Hat Advanced Server 2.1, and on Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3)

记得好多人向我抱怨过,在redhat8,9上安装Oracle 9i 非常麻烦,而且是每个版本安装方法都不一样,真是难倒一批高手呀,现在出了个Red Hat Enterprise Linux Advanced Server 3更加不知道在上面怎么安装了,这篇文章会告诉你在redhat的各个版本

Download file

适用范围

Here is a summary (HOWTO) of how I installed:

Oracle 9iR2 (9.2.0) Database on Red Hat Advanced Server 3 (kernel 2.4.21-4.EL, glibc 2.3.2-95.3)
Oracle 9iR2 (9.2.0) Database on Red Hat Advanced Server 2.1 (kernel 2.4.9-e.3, glibc 2.2.4-26)
Oracle 9iR2 (9.2.0) Database on Red Hat 9 (kernel kernel-2.4.20-6, glibc 2.3.2-5)
Oracle 9iR2 (9.2.0) Database on Red Hat 8.0 (kernel 2.4.18-18.8.0, glibc 2.2.93-5)
Oracle 9iR2 (9.2.0) Database on Red Hat 7.3 (kernel 2.4.18-3, glibc 2.2.5-34)
Oracle 9iR1 (9.0.1) Database on Red Hat 7.3 (kernel 2.4.18-3, glibc 2.2.5-34)
Oracle 9iR1 (9.0.1) Database on Red Hat 7.2 (kernel 2.4.7-10, glibc 2.2.4-13)
Oracle 9iR1 (9.0.1) Database on Red Hat 7.1 (kernel 2.4.2-2, glibc 2.2.2-10)


文章详细介绍了怎么在各个版本的redhat上安装Oracle 9i,里面还给了相关的补丁程序的下载地方。

我没有试验过,因为手头没有Oracle 9i可以让我装,希望有需要的朋友能帮上忙:)

frank发表 于09:51 PM | 回复(5) | 引用(0)

我的网站在alexa的排名

今天偶然去alexa网站看看,一看不知道,哈哈,今天我在全世界的网站排名已经闯进100,000名,为82966。不过3个月平均排名还是876,910,不过没关系,我的网站开业才3个月不到吗?看来网站发展很良性:)

查看我的世界排名

paiming1.jpg

paiming2.jpg

我的下个目标是闯进10,000,去掉一个零,有信心!!!!


frank发表 于02:44 PM | 回复(2) | 引用(0)

January 06, 2004

高性能LINUX双效防火墙HOWTO

原文地址:
http://www.linuxaid.com.cn/articles/4/4/441672019.shtml

杭州小红马工作室 kinglee
kinglee@hzcnc.com

系统功能说明:

  包过滤和WEB代理双效合一。由iptables 实现包的过滤,由LINUX下大名鼎鼎的squid结合NAT来实现透明WEB代理。SQUID代理的性能本身已经是代理服务器中的佼佼者,本系统将其性能发挥的极至:通过ramdisk技术,让SQUID把网页cahce到内存中,这样,你所访问的网页,除了第一次需要到网络上取,以后都将来自内存!下面介绍如何用redhat 7.2来实现的方法和步骤。

(1)选择一台比较稳定的计算机,装上两块网卡,256或512M内存,硬盘10G(注意:第一块网卡接内网,第二块网卡接外网。)
(2)安装red hat 7.2,安装时选择服务器模式,自动分区
(3)大概在10-15分中后系统安装完毕,重启后进入系统,开始配置系统

1、开启包转发

  编辑/etc/sysctl.conf,将net.ipv4.ip_forward=0 该为net.ipv4.ip_forward=1,保存修改。其目的是允许LINUX内核做IP包的转发:允许IP数据包从一个网络接口穿越到另一个网络接口,只有这样,系统才具有充当包过滤防火墙的条件。

2、激活RamDisk

  修改/etc/grub.conf


#boot=/dev/sda
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.4.7-10)
root (hd0,0)
kernel /vmlinuz-2.4.7-10 ro root=/dev/sda6 ramdisk=268435
initrd /initrd-2.4.7-10.img

  其中ramdisk=268435 是我们要添加的内容,目的是告诉系统默认的 ramdisk的大小是268435k,也就是256M。注意千万不可以直接写256M,这样系统是不认识的,必须要换成K才行!(摸索了好几个月的心得!),这样设好,重新启动后就系统就回自动生成一个256M的虚拟盘了。当然,你要根据自己的内存大小来设置这个参数,如果不运行XWINDOWS,设你总内存的一半都没问题,因为LINUX系统本身并不需要很多内存的。

3、设置squid参数

  编辑/etc/squid/squid.conf,在末尾加入以下条目:


httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
http_access allow all
cache_dir ufs /squid 256 16 256

  前面四条参数使squid提供透明代理提供基础。“http_access allow all”表示允许所有的客户机器都可以访问代理;这里特别强调的是最后一条 “cache_dir ufs /squid 256 16 256”,

  squid默认的cache_dir是“/var/spool/squid”,我们因为要让squid将内容cache到内存中,所以这里先改成/squid,接下来要将ramdisk影射到/squid目录中。

4、建立ramdisk。用下面的两条命令来完成:


(1)mkdir /squid 建立目录“/squid”
(2)mkfs /dev/ramdisk 创建文件系统
(3)mount /dev/ramdisk /squid 将ramdisk 挂载到/squid目录。

  由于ramdisk在每次重启后会消失,因此,为了让系统启动时自动建立好,我们可以建立一个自动装载ramdisk的批命令:


mkfs /dev/ramdisk
mount /dev/ramdisk /squid

  将这两条命令写到一个文件中,我们暂且用myautoexec.bat作为文件名,为了方便起见,我们建立/admin目录,然后将myautoexec.bat文件保存在/admin下,并加给可执行的权限:chmod +x myautoexec.bat

  但这样系统启动时并不会被调用,所以我们还要做一件事:编辑/etc/rc.local 文件,在文件末尾插入一行:/admin/myautoexec.bat,这样,系统就会自动调用myautoexec.bat了。

5、初始化squid。

  还记得“cache_dir ufs /squid 256 16 256”这个参数吗?初始化过程实际上就是squid在指定的cache_dir中建立指定的一级目录(这里是16),然后在每个一级目录中建立256个二级目录。使用的命令是:“squid –z ”。但现在这时输入命令系统会报告出错,因为/squid现在的属主是root, squid 没有权限操作root的文件,所以还要先把/squid目录指派给squid用户,用“chown squid.squid /squid”。再一次运行“squid –z ”,不到一秒钟时间就可完成。如果这个过程是在磁盘上而不是在ramdisk上,一般要工作几十秒钟。

  同样,这步的设置也要把


chown squid.squid /squid
squid –z

  两条命令写到myautoexec.bat中,最后加上一条“squid”,就是启动squid服务进程。到这里,squid的设置全部完成。

6、设置NAT和防火墙规则。

  为了方便起见,建立文件/admin/myfirwall,将规则都写到文件中:


#------初始化部分
iptables -F
iptables -t nat -F
modprobe ip_tables
modprobe iptable_nat
modprobe iptable_filter
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state
#——初始化结束
#-START NAT<<<<<让地址为10.27.0.0/16的内部计算机可以伪装上因特网。
iptables -t nat -A POSTROUTING -o eth1 -s 10.3.37.0/24 -j MASQUERADE
#>>>>>end NAT
#端口转换,将所有发到外网的请求端口为80的都转到3128去,让squid来处理,这一
#--条是透明代理的关键<<<<<<
iptables -t nat -A PREROUTING -i eth0 -d ! 10.27.0.0/16 -p tcp -m tcp \
--dport 80 -j REDIRECT --to-ports 3128
#>>>>>>>end 端口转换
#防火墙规则<<<<<<< 这里要根据你的要求来定了
iptables -A INPUT -i eth1 -s 0.0.0.0/0 -p ICMP -j DROP
iptables –A INPUT –i eth1 –s 0.0.0.0/0 –p TCP –port ! 80 –j DROP
#以上两条分别是将所有从外网进来的ping包都统统丢弃,将所有由外网发起的非80端口
#的请求都统统丢弃,意思就是只不允许从外网向内网发ping ,只允许外网访问内网的
#HTTP服务。完整的防火墙规则要根据你的网络安全要求来制定,这里只做参考。

  说明:所有以#开头的行表示说明,不用写入文件,保存为/admin/myfirewall,并用“chmod +x /admin/myfirewall”使其可以执行。编辑/admin/myautoexec.bat,加入“/admin/myfirewall”在最后一行。

  到此为止,我们的好性能防火墙全部配置完成,运行reboot 重启后,可以工作了。

frank发表 于10:41 PM | 回复(0) | 引用(0)

12 月八大安全漏洞公开 Linux 内核缺陷居中

12 月八大安全漏洞公开 Linux 内核缺陷居中


今天上午,启明星辰公司对外发布了 2003 年 12 月份所发现的八个最重要的安全漏洞,其中包括了一个严重的 Linux 内核漏洞。在这 8 个安全漏洞中,微软、 SUN 、 IBM 等系统也都存在着不同的缺陷。

这些安全漏洞分别为:

1. Sun Solaris XSun 直接图形访问不安全临时文件漏洞

2. Linux Kernel 2.4 RTC 处理函数内存泄露漏洞

3. 多种浏览器 URI 显示处理存在漏洞

4. Cisco PIX 多个远程拒绝服务攻击漏洞

5. Sun Solaris LPStat 未明本地权限提升漏洞

6. Microsoft Internet Explorer存在远程的破坏漏洞

7. IBM DB2 不安全 DMS 目录权限漏洞

8. Microsoft Internet Explorer 文件下载漏洞

frank发表 于10:33 PM | 回复(0) | 引用(0)

3721, CNNIC, POPO, 百度, 中文邮免疫程序

相信很多朋友都特别讨厌3721的弹出窗口,类似3721的还有很多,比如POPO、百度,现在好了有了这个软件,不用再烦了

就是周明波写的那个3721, CNNIC, POPO, 百度, 中文邮免疫程序 v2.0
是2.0版


这里下载

frank发表 于10:03 PM | 回复(0) | 引用(0)

Redhat9上配置DNS

前提:机器名为bak.5ilinux.com 域名为5ilinux.com

1。从安装盘安装

rpm -ivh bind-9.2.2-21.i386.rpm

2。增加配置文件

vi /etc/named.conf

## named.conf - configuration for bind # # Generated automatically by redhat-config-bind, alchemist et al. # Any changes not supported by redhat-config-bind should be put # in /etc/named.custom # controls { inet 127.0.0.1 allow { localhost; } keys { rndckey; }; }; include "/etc/rndc.key";

options {
directory "/var/named/";
};

zone "." {
type hint;
file "named.ca";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "0.0.127.in-addr.arpa.zone";
};

zone "localhost" {
type master;
file "localhost.zone";
};

zone "5ilinux.com" {
type master;
file "5ilinux.com.zone";
};

下载named.ca

wget ftp://ftp.rs.internic.net/domain/named.root

下载后改名为named.ca 存在/var/named目录下

vi /var/named/localhost.zone

$TTL 86400 @ IN SOA @ root.localhost (
1 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; ttl
)


IN NS localhost.

@ IN A 127.0.0.1

vi /var/named/0.0.127.in-addr.arpa.zone

$TTL 86400 @ IN SOA localhost. root.localhost (
2 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; ttl
)

@ IN NS localhost.