存档

文章标签 ‘vps12.com’

linux常用命令使用汇总

2012年6月18日 没有评论

linux打包压缩命令

tar命令
[root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ….
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
–exclude FILE:在压缩的过程中,不要将 FILE 打包!
范例:
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
# 上述指令在执行的时候,会显示一个警告讯息:
# 『tar: Removing leading `/’ from member names』那是关於绝对路径的特殊设定。
范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
# 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,
# 就得要加上 z 这个参数了!这很重要的!
范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
# 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
# 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,
# 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc
# 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!
范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
# 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,
# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!
范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
# 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!
范例六:在 /home 当中,比 2005/06/01 新的文件才备份
[root@linux ~]# tar -N ’2005/06/01′ -zcvf home.tar.gz /home
范例七:我要备份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar –exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf – /etc | tar -xvf -
# 这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的!
# 要注意的地方在於输出档变成 – 而输入档也变成 – ,又有一个 | 存在~
# 这分别代表 standard output, standard input 与管线命令啦!
# 这部分我们会在 Bash shell 时,再次提到这个指令跟大家再解释啰!

 

gzip, zcat 命令
[root@linux ~]# gzip [-cdt#] 档名
[root@linux ~]# zcat 档名.gz
参数:
-c :将压缩的资料输出到萤幕上,可透过资料流重导向来处理;
-d :解压缩的参数;
-t :可以用来检验一个压缩档的一致性~看看文件有无错误;
-# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是 -6 ~
范例:
范例一:将 /etc/man.config 複制到 /tmp ,并且以 gzip 压缩
[root@linux ~]# cd /tmp
[root@linux tmp]# cp /etc/man.config .
[root@linux tmp]# gzip man.config
# 此时 man.config 会变成 man.config.gz !
范例二:将范例一的文件内容读出来!
[root@linux tmp]# zcat man.config.gz
# 此时萤幕上会显示 man.config.gz 解压缩之后的文件内容!!
范例三:将范例一的文件解压缩
[root@linux tmp]# gzip -d man.config.gz
范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的文件
[root@linux tmp]# gzip -9 -c man.config > man.config.gz

 

bzip2, bzcat 命令
[root@linux ~]# bzip2 [-cdz] 档名
[root@linux ~]# bzcat 档名.bz2
参数:
-c :将压缩的过程产生的资料输出到萤幕上!
-d :解压缩的参数
-z :压缩的参数
-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!
范例:
范例一:将刚刚的 /tmp/man.config 以 bzip2 压缩
[root@linux tmp]# bzip2 -z man.config
# 此时 man.config 会变成 man.config.bz2 !
范例二:将范例一的文件内容读出来!
[root@linux tmp]# bzcat man.config.bz2
# 此时萤幕上会显示 man.config.bz2 解压缩之后的文件内容!!
范例三:将范例一的文件解压缩
[root@linux tmp]# bzip2 -d man.config.bz2
范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的文件
[root@linux tmp]# bzip2 -9 -c man.config > man.config.bz2

 

compress 命令
[root@linux ~]# compress [-dcr] 文件或目录
参数:
-d :用来解压缩的参数
-r :可以连同目录下的文件也同时给予压缩呢!
-c :将压缩资料输出成为 standard output (输出到萤幕)
范例:
范例一:将 /etc/man.config 複制到 /tmp ,并加以压缩
[root@linux ~]# cd /tmp
[root@linux tmp]# cp /etc/man.config .
[root@linux tmp]# compress man.config
[root@linux tmp]# ls -l
-rw-r–r– 1 root root 2605 Jul 27 11:43 man.config.Z
范例二:将刚刚的压缩档解开
[root@linux tmp]# compress -d man.config.Z
范例三:将 man.config 压缩成另外一个文件来备份
[root@linux tmp]# compress -c man.config > man.config.back.Z
[root@linux tmp]# ll man.config*
-rw-r–r– 1 root root 4506 Jul 27 11:43 man.config
-rw-r–r– 1 root root 2605 Jul 27 11:46 man.config.back.Z
# 这个 -c 的参数比较有趣!他会将压缩过程的资料输出到萤幕上,而不是写入成为
# file.Z 文件。所以,我们可以透过资料流重导向的方法将资料输出成为另一个档名。
# 关於资料流重导向,我们会在 bash shell 当中详细谈论的啦!

 

dd 命令
[root@linux ~]# dd if=”input_file” of=”outptu_file” bs=”block_size” \
count=”number”
参数:
if :就是 input file 啰~也可以是装置喔!
of :就是 output file 喔~也可以是装置;
bs :规划的一个 block 的大小,如果没有设定时,预设是 512 bytes
count:多少个 bs 的意思。
范例:
范例一:将 /etc/passwd 备份到 /tmp/passwd.back 当中
[root@linux ~]# dd if=/etc/passwd of=/tmp/passwd.back
3+1 records in
3+1 records out
[root@linux ~]# ll /etc/passwd /tmp/passwd.back
-rw-r–r– 1 root root 1746 Aug 25 14:16 /etc/passwd
-rw-r–r– 1 root root 1746 Aug 29 16:57 /tmp/passwd.back
# 仔细的看一下,我的 /etc/passwd 文件大小为 1746 bytes,因为我没有设定 bs ,
# 所以预设是 512 bytes 为一个单位,因此,上面那个 3+1 表示有 3 个完整的
# 512 bytes,以及未满 512 bytes 的另一个 block 的意思啦!
# 事实上,感觉好像是 cp 这个指令啦~
范例二:备份 /dev/hda 的 MBR
[root@linux ~]# dd if=/dev/hda of=/tmp/mbr.back bs=512 count=1
1+0 records in
1+0 records out
# 这就得好好瞭解一下啰~我们知道整颗硬盘的 MBR 为 512 bytes,
# 就是放在硬盘的第一个 sector 啦,因此,我可以利用这个方式来将
# MBR 内的所有资料都纪录下来,真的很厉害吧! ^_^
范例三:将整个 /dev/hda1 partition 备份下来。
[root@linux ~]# dd if=/dev/hda1 of=/some/path/filenaem
# 这个指令很厉害啊!将整个 partition 的内容全部备份下来~
# 后面接的 of 必须要不是在 /dev/hda1 的目录内啊~否则,怎么读也读不完~
# 这个动作是很有效用的,如果改天你必须要完整的将整个 partition 的内容填回去,
# 则可以利用 dd if=/some/file of=/dev/hda1 来将资料写入到硬盘当中。
# 如果想要整个硬盘备份的话,就类似 Norton 的 ghost 软体一般,
# 由 disk 到 disk ,嘿嘿~利用 dd 就可以啦~厉害厉害!

 

cpio 命令
[root@linux ~]# cpio -covB > [file|device] <==备份
[root@linux ~]# cpio -icduv < [file|device] <==还原
参数:
-o :将资料 copy 输出到文件或装置上
-i :将资料自文件或装置 copy 出来系统当中
-t :查看 cpio 建立的文件或装置的内容
-c :一种较新的 portable format 方式储存
-v :让储存的过程中文件名称可以在萤幕上显示
-B :让预设的 Blocks 可以增加至 5120 bytes ,预设是 512 bytes !
这样的好处是可以让大文件的储存速度加快(请参考 i-nodes 的观念)
-d :自动建立目录!由於 cpio 的内容可能不是在同一个目录内,
如此的话在反备份的过程会有问题! 这个时候加上 -d 的话,
就可以自动的将需要的目录建立起来了!
-u :自动的将较新的文件覆盖较旧的文件!
范例:
范例一:将所有系统上的资料通通写入磁带机内!
[root@linux ~]# find / -print | cpio -covB > /dev/st0
# 一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0 喔!
范例二:检查磁带机上面有什么文件?
[root@linux ~]# cpio -icdvt < /dev/st0
[root@linux ~]# cpio -icdvt < /dev/st0 > /tmp/content
# 第一个动作当中,会将磁带机内的档名列出到萤幕上面,而我们可以透过第二个动作,
# 将所有的档名通通纪录到 /tmp/content 文件去!
范例三:将磁带上的资料还原回来~
[root@linux ~]# cpio -icduv < /dev/st0
# 一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0 喔!
范例四:将 /etc 底下的所有『文件』都备份到 /root/etc.cpio 中!
[root@linux ~]# find /etc -type f | cpio -o > /root/etc.cpio
# 这样就能够备份啰~您也可以将资料以 cpio -i < /root/etc.cpio
# 来将资料捉出来!!!!

iptables使用中文说明

2012年6月18日 没有评论

总览
用iptables -ADC 来指定链的规则,-A添加 -D删除 -C 修改
iptables – [RI] chain rule num rule-specification[option]
用iptables – RI 通过规则的顺序指定

iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]

iptables -[NX] chain
用 -NX 指定链

iptables -P chain target[options]
指定链的默认目标

iptables -E old-chain-name new-chain-name
-E 旧的链名 新的链名
用新的链名取代旧的链名
说明
Iptalbes 是用来设置、维护和检查Linux内核的IP包过滤规则的。
可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。每个链都是一个规则列表,对对应的包进行匹配:每条规则指定应当如何处理与之相匹配的包。这被称作’target’(目标),也可以跳向同一个表内的用户定义的链。

TARGETS
防火墙的规则指定所检查包的特征,和目标。如果包不匹配,将送往该链中下一条规则检查;如果匹配,那么下一条规则由目标值确定.该目标值可以是用户定义的链名,或是某个专用值,如ACCEPT[通过], DROP[删除], QUEUE[排队], 或者 RETURN[返回]。
ACCEPT 表示让这个包通过。DROP表示将这个包丢弃。QUEUE表示把这个包传递到用户空间。RETURN表示停止这条链的匹配,到前一个链的规则重新开始。如果到达了一个内建的链(的末端),或者遇到内建链的规则是RETURN,包的命运将由链准则指定的目标决定。

TABLES
当前有三个表(哪个表是当前表取决于内核配置选项和当前模块)。
-t table
这个选项指定命令要操作的匹配包的表。如果内核被配置为自动加载模块,这时若模块没有加载,(系统)将尝试(为该表)加载适合的模块。这些表如下:filter,这是默认的表,包含了内建的链INPUT(处理进入的包)、FORWORD(处理通过的包)和OUTPUT(处理本地生成的包)。nat,这个表被查询时表示遇到了产生新的连接的包,由三个内建的链构成:PREROUTING (修改到来的包)、OUTPUT(修改路由之前本地的包)、POSTROUTING(修改准备出去的包)。mangle 这个表用来对指定的包进行修改。它有两个内建规则:PREROUTING(修改路由之前进入的包)和OUTPUT(修改路由之前本地的包)。
OPTIONS
这些可被iptables识别的选项可以区分不同的种类。

COMMANDS
这些选项指定执行明确的动作:若指令行下没有其他规定,该行只能指定一个选项.对于长格式的命令和选项名,所用字母长度只要保证iptables能从其他选项中区分出该指令就行了。
-A -append
在所选择的链末添加一条或更多规则。当源(地址)或者/与 目的(地址)转换为多个地址时,这条规则会加到所有可能的地址(组合)后面。

-D -delete
从所选链中删除一条或更多规则。这条命令可以有两种方法:可以把被删除规则指定为链中的序号(第一条序号为1),或者指定为要匹配的规则。

-R -replace
从选中的链中取代一条规则。如果源(地址)或者/与 目的(地址)被转换为多地址,该命令会失败。规则序号从1开始。

-I -insert
根据给出的规则序号向所选链中插入一条或更多规则。所以,如果规则序号为1,规则会被插入链的头部。这也是不指定规则序号时的默认方式。

-L -list
显示所选链的所有规则。如果没有选择链,所有链将被显示。也可以和z选项一起使用,这时链会被自动列出和归零。精确输出受其它所给参数影响。

-F -flush
清空所选链。这等于把所有规则一个个的删除。

–Z -zero
把所有链的包及字节的计数器清空。它可以和 -L配合使用,在清空前察看计数器,请参见前文。

-N -new-chain
根据给出的名称建立一个新的用户定义链。这必须保证没有同名的链存在。

-X -delete-chain
删除指定的用户自定义链。这个链必须没有被引用,如果被引用,在删除之前你必须删除或者替换与之有关的规则。如果没有给出参数,这条命令将试着删除每个非内建的链。
-P -policy
设置链的目标规则。

-E -rename-chain
根据用户给出的名字对指定链进行重命名,这仅仅是修饰,对整个表的结构没有影响。TARGETS参数给出一个合法的目标。只有非用户自定义链可以使用规则,而且内建链和用户自定义链都不能是规则的目标。

-h Help.
帮助。给出当前命令语法非常简短的说明。

PARAMETERS
参数
以下参数构成规则详述,如用于add、delete、replace、append 和 check命令。

-p -protocal [!]protocol
规则或者包检查(待检查包)的协议。指定协议可以是tcp、udp、icmp中的一个或者全部,也可以是数值,代表这些协议中的某一个。当然也可以使用在/etc/protocols中定义的协议名。在协议名前加上”!”表示相反的规则。数字0相当于所有all。Protocol all会匹配所有协议,而且这是缺省时的选项。在和check命令结合时,all可以不被使用。
-s -source [!] address[/mask]
指定源地址,可以是主机名、网络名和清楚的IP地址。mask说明可以是网络掩码或清楚的数字,在网络掩码的左边指定网络掩码左边”1″的个数,因此,mask值为24等于255.255.255.0。在指定地址前加上”!”说明指定了相反的地址段。标志 –src 是这个选项的简写。

-d –destination [!] address[/mask]
指定目标地址,要获取详细说明请参见 -s标志的说明。标志 –dst 是这个选项的简写。

-j –jump target
-j 目标跳转
指定规则的目标;也就是说,如果包匹配应当做什么。目标可以是用户自定义链(不是这条规则所在的),某个会立即决定包的命运的专用内建目标,或者一个扩展(参见下面的EXTENSIONS)。如果规则的这个选项被忽略,那么匹配的过程不会对包产生影响,不过规则的计数器会增加。

-i -in-interface [!] [name]
i -进入的(网络)接口 [!][名称]
这是包经由该接口接收的可选的入口名称,包通过该接口接收(在链INPUT、FORWORD和PREROUTING中进入的包)。当在接口名前使用”!”说明后,指的是相反的名称。如果接口名后面加上”+”,则所有以此接口名开头的接口都会被匹配。如果这个选项被忽略,会假设为”+”,那么将匹配任意接口。

-o –out-interface [!][name]
-o –输出接口[名称]
这是包经由该接口送出的可选的出口名称,包通过该口输出(在链FORWARD、OUTPUT和POSTROUTING中送出的包)。当在接口名前使用”!”说明后,指的是相反的名称。如果接口名后面加上”+”,则所有以此接口名开头的接口都会被匹配。如果这个选项被忽略,会假设为”+”,那么将匹配所有任意接口。

[!] -f, –fragment
[!] -f –分片
这意味着在分片的包中,规则只询问第二及以后的片。自那以后由于无法判断这种把包的源端口或目标端口(或者是ICMP类型的),这类包将不能匹配任何指定对他们进行匹配的规则。如果”!”说明用在了”-f”标志之前,表示相反的意思。

OTHER OPTIONS
其他选项
还可以指定下列附加选项:

-v –verbose
-v –详细
详细输出。这个选项让list命令显示接口地址、规则选项(如果有)和TOS(Type of Service)掩码。包和字节计数器也将被显示,分别用K、M、G(前缀)表示1000、1,000,000和1,000,000,000倍(不过请参看-x标志改变它),对于添加,插入,删除和替换命令,这会使一个或多个规则的相关详细信息被打印。

-n –numeric
-n –数字
数字输出。IP地址和端口会以数字的形式打印。默认情况下,程序试显示主机名、网络名或者服务(只要可用)。

-x -exact
-x -精确
扩展数字。显示包和字节计数器的精确值,代替用K,M,G表示的约数。这个选项仅能用于 -L 命令。

–line-numbers
当列表显示规则时,在每个规则的前面加上行号,与该规则在链中的位置相对应。

MATCH EXTENSIONS
对应的扩展
iptables能够使用一些与模块匹配的扩展包。以下就是含于基本包内的扩展包,而且他们大多数都可以通过在前面加上!来表示相反的意思。

tcp
当 –protocol tcp 被指定,且其他匹配的扩展未被指定时,这些扩展被装载。它提供以下选项:

–source-port [!] [port[:port]]
源端口或端口范围指定。这可以是服务名或端口号。使用格式端口:端口也可以指定包含的(端口)范围。如果首端口号被忽略,默认是”0″,如果末端口号被忽略,默认是”65535″,如果第二个端口号大于第一个,那么它们会被交换。这个选项可以使用 –sport的别名。

–destionation-port [!] [port:[port]]
目标端口或端口范围指定。这个选项可以使用 –dport别名来代替。

–tcp-flags [!] mask comp
匹配指定的TCP标记。第一个参数是我们要检查的标记,一个用逗号分开的列表,第二个参数是用逗号分开的标记表,是必须被设置的。标记如下:SYN ACK FIN RST URG PSH ALL NONE。因此这条命令:iptables -A FORWARD -p tcp –tcp-flags SYN, ACK, FIN, RST SYN只匹配那些SYN标记被设置而ACK、FIN和RST标记没有设置的包。

[!] –syn
只匹配那些设置了SYN位而清除了ACK和FIN位的TCP包。这些包用于TCP连接初始化时发出请求;例如,大量的这种包进入一个接口发生堵塞时会阻止进入的TCP连接,而出去的TCP连接不会受到影响。这等于 –tcp-flags SYN, RST, ACK SYN。如果”–syn”前面有”!”标记,表示相反的意思。

–tcp-option [!] number
匹配设置了TCP选项的。

udp
当protocol udp 被指定,且其他匹配的扩展未被指定时,这些扩展被装载,它提供以下选项:

–source-port [!] [port:[port]]
源端口或端口范围指定。详见 TCP扩展的–source-port选项说明。

–destination-port [!] [port:[port]]
目标端口或端口范围指定。详见 TCP扩展的–destination-port选项说明。

icmp
当protocol icmp被指定,且其他匹配的扩展未被指定时,该扩展被装载。它提供以下选项:
–icmp-type [!] typename
这个选项允许指定ICMP类型,可以是一个数值型的ICMP类型,或者是某个由命令iptables -p icmp -h所显示的ICMP类型名。

mac
–mac-source [!] address
匹配物理地址。必须是XX:XX:XX:XX:XX这样的格式。注意它只对来自以太设备并进入PREROUTING、FORWORD和INPUT链的包有效。

limit
这个模块匹配标志用一个标记桶过滤器一一定速度进行匹配,它和LOG目标结合使用来给出有限的登陆数.当达到这个极限值时,使用这个扩展包的规则将进行匹配.(除非使用了”!”标记)

–limit rate
最大平均匹配速率:可赋的值有’/second’, ‘/minute’, ‘/hour’, or ‘/day’这样的单位,默认是3/hour。

–limit-burst number
待匹配包初始个数的最大值:若前面指定的极限还没达到这个数值,则概数字加1.默认值为5

multiport
这个模块匹配一组源端口或目标端口,最多可以指定15个端口。只能和-p tcp 或者 -p udp 连着使用。

–source-port [port[, port]]
如果源端口是其中一个给定端口则匹配

–destination-port [port[, port]]
如果目标端口是其中一个给定端口则匹配

–port [port[, port]]
若源端口和目的端口相等并与某个给定端口相等,则匹配。
mark
这个模块和与netfilter过滤器标记字段匹配(就可以在下面设置为使用MARK标记)。

–mark value [/mask]
匹配那些无符号标记值的包(如果指定mask,在比较之前会给掩码加上逻辑的标记)。

owner
此模块试为本地生成包匹配包创建者的不同特征。只能用于OUTPUT链,而且即使这样一些包(如ICMP ping应答)还可能没有所有者,因此永远不会匹配。

–uid-owner userid
如果给出有效的user id,那么匹配它的进程产生的包。

–gid-owner groupid
如果给出有效的group id,那么匹配它的进程产生的包。

–sid-owner seessionid
根据给出的会话组匹配该进程产生的包。

state
此模块,当与连接跟踪结合使用时,允许访问包的连接跟踪状态。

–state state
这里state是一个逗号分割的匹配连接状态列表。可能的状态是:INVALID表示包是未知连接,ESTABLISHED表示是双向传送的连接,NEW表示包为新的连接,否则是非双向传送的,而RELATED表示包由新连接开始,但是和一个已存在的连接在一起,如FTP数据传送,或者一个ICMP错误。

unclean
此模块没有可选项,不过它试着匹配那些奇怪的、不常见的包。处在实验中。

tos
此模块匹配IP包首部的8位tos(服务类型)字段(也就是说,包含在优先位中)。

–tos tos
这个参数可以是一个标准名称,(用iptables -m tos -h 察看该列表),或者数值。

TARGET EXTENSIONS
iptables可以使用扩展目标模块:以下都包含在标准版中。

LOG
为匹配的包开启内核记录。当在规则中设置了这一选项后,linux内核会通过printk()打印一些关于全部匹配包的信息(诸如IP包头字段等)。
–log-level level
记录级别(数字或参看 syslog.conf(5))。
–log-prefix prefix
在纪录信息前加上特定的前缀:最多14个字母长,用来和记录中其他信息区别。

–log-tcp-sequence
记录TCP序列号。如果记录能被用户读取那么这将存在安全隐患。

–log-tcp-options
记录来自TCP包头部的选项。
–log-ip-options
记录来自IP包头部的选项。

MARK
用来设置包的netfilter标记值。只适用于mangle表。

–set-mark mark

REJECT
作为对匹配的包的响应,返回一个错误的包:其他情况下和DROP相同。

此目标只适用于INPUT、FORWARD和OUTPUT链,和调用这些链的用户自定义链。这几个选项控制返回的错误包的特性:

–reject-with type
Type可以是icmp-net-unreachable、icmp-host-unreachable、icmp-port-nreachable、icmp-proto-unreachable、 icmp-net-prohibited 或者 icmp-host-prohibited,该类型会返回相应的ICMP错误信息(默认是port-unreachable)。选项 echo-reply也是允许的;它只能用于指定ICMP ping包的规则中,生成ping的回应。最后,选项tcp-reset可以用于在INPUT链中,或自INPUT链调用的规则,只匹配TCP协议:将回应一个TCP RST包。
TOS
用来设置IP包的首部八位tos。只能用于mangle表。

–set-tos tos
你可以使用一个数值型的TOS 值,或者用iptables -j TOS -h 来查看有效TOS名列表。
MIRROR
这是一个试验示范目标,可用于转换IP首部字段中的源地址和目标地址,再传送该包,并只适用于INPUT、FORWARD和OUTPUT链,以及只调用它们的用户自定义链。

SNAT
这个目标只适用于nat表的POSTROUTING链。它规定修改包的源地址(此连接以后所有的包都会被影响),停止对规则的检查,它包含选项:

–to-source <ipaddr>[-<ipaddr>][:port-port]
可以指定一个单一的新的IP地址,一个IP地址范围,也可以附加一个端口范围(只能在指定-p tcp 或者-p udp的规则里)。如果未指定端口范围,源端口中512以下的(端口)会被安置为其他的512以下的端口;512到1024之间的端口会被安置为1024以下的,其他端口会被安置为1024或以上。如果可能,端口不会被修改。

–to-destiontion <ipaddr>[-<ipaddr>][:port-port]
可以指定一个单一的新的IP地址,一个IP地址范围,也可以附加一个端口范围(只能在指定-p tcp 或者-p udp的规则里)。如果未指定端口范围,目标端口不会被修改。

MASQUERADE
只用于nat表的POSTROUTING链。只能用于动态获取IP(拨号)连接:如果你拥有静态IP地址,你要用SNAT。伪装相当于给包发出时所经过接口的IP地址设置一个映像,当接口关闭连接会终止。这是因为当下一次拨号时未必是相同的接口地址(以后所有建立的连接都将关闭)。它有一个选项:

–to-ports <port>[-port>]
指定使用的源端口范围,覆盖默认的SNAT源地址选择(见上面)。这个选项只适用于指定了-p tcp或者-p udp的规则。

REDIRECT
只适用于nat表的PREROUTING和OUTPUT链,和只调用它们的用户自定义链。它修改包的目标IP地址来发送包到机器自身(本地生成的包被安置为地址127.0.0.1)。它包含一个选项:

–to-ports <port>[<port>]
指定使用的目的端口或端口范围:不指定的话,目标端口不会被修改。只能用于指定了-p tcp 或 -p udp的规则。

DIAGNOSTICS
诊断
不同的错误信息会打印成标准错误:退出代码0表示正确。类似于不对的或者滥用的命令行参数错误会返回错误代码2,其他错误返回代码为1。

BUGS
臭虫
Check is not implemented (yet).
检查还未完成。

COMPATIBILITY WITH IPCHAINS
与ipchains的兼容性
iptables和Rusty Russell的ipchains非常相似。主要区别是INPUT 链只用于进入本地主机的包,而OUTPUT只用于自本地主机生成的包。因此每个包只经过三个链的一个;以前转发的包会经过所有三个链。其他主要区别是 -i 引用进入接口;-o引用输出接口,两者都适用于进入FORWARD链的包。当和可选扩展模块一起使用默认过滤器表时,iptables是一个纯粹的包过滤器。这能大大减少以前对IP伪装和包过滤结合使用的混淆,所以以下选项作了不同的处理:
-j MASQ
-M -S
-M -L
在iptables中有几个不同的链。

分类: Linux 标签: , ,

复制密码登陆远程桌面

2012年6月17日 没有评论

我们很多时候收到机房或是服务器提供商的windows server 服务器密码都是很复杂的。

比如我们提供给客户的服务器密码或是vps服务器的密码都是唯一的!

ip:192.168.1.123
您好,您新订的服务器已处理好了
账号: administrator
密码: vps12.com.me756e@dnsff.com=5fdmj-ed
此为初始密码,为保障您服务器的安全,请及时更改。

像这样的密码如果按平常那样去登陆一个字符一个字符的输入一个走眼就很容易出错了。给一些初学者使用远程桌面控制服务器造成很大困扰。有什么办法可以很方便的进行登陆又不用输入这么复杂的密码呢?

答案是肯定的。我们可以下载或是使用 xp系统sp2版本及windows 2003 sp2版本自带的远程桌面按以下操作就可以只要用复制粘贴点两下就可以登陆管理服务器了。

推荐下载我们提供的远程桌面连接软件 下载地址 http://www.dnsff.com/download/3389.rar

如图所示:

1 点击选项。

2 复制机房发给你的密码,粘贴在这里。

3 连接。

就这么简单方便。

Win2003中搭建视频服务器

2012年5月17日 没有评论

Win2003中搭建视频服务器

随着Internet和Intranet应用日益丰富,视频点播也逐渐应用于宽带网和局域网。人们已不再满足于浏览文字和图片,越来越多的人更喜欢在网上看电影、听音乐。而视频点播和音频点播功能的实现,则必须依靠流媒体服务技术。就目前来看,最流行的流媒体点播服务器只有两种,即Windows Media服务和Real Server。下面我们在这里主要讨论在Windows 2003 Server环境下如何搭建视频点播服务器。我们大家知道,Windows Media服务采用流媒体的方式来传输数据。通常格式的文件必须完全下载到本地硬盘后,才能够正常打开和运行。而由于多媒体文件通常都比较大,所以完全下载到本地往往需要较长时间的等待。而流媒体格式文件只需先下载一部分在本地,然后可以一边下载一边播放。Windows Media服务支持ASF和WMV格式的视频文件,以及WMA和MP3格式的音频文件。

一、Windows Media服务的安装

Windows Media服务虽然是Windows Server 2003系统的组件之一,但是在默认情况下并不会自动安装,而是需要用户来手动添加。而在Windows Server 2003操作系统中,除了可以使用“Windows组件向导”安装Windows Media服务之外,还可以通过“配置您的服务器向导”来实现。

(1)在刚刚安装好Windows Server 2003操作系统并进入Windows时,系统会自动运行“管理您的服务器”窗口。单击其中的“添加或删除角色”超级链接,将显示“配置您的服务器向导”对话框。

(2)单击该对话框中的“下一步”按钮,计算机将开始自动检测所有的设备、操作系统,并检测所有的网络设置。在检测完成后将显示“配置选项”对话框,选择“自定义配置”选项,以自定义安装自己所需要的网络服务。

(3)单击“下一步”按钮,将显示“服务器角色”对话框,在“服务器角色”列表框中列出了所有可以安装的服务器。系统中大部分服务的安装和卸载都可以在该对话框中进行选择。

(4)选择列表框中的“流式媒体服务器”选项,然后单击“下一步”按钮,将显示“选择总结”对话框,用来查看并确认所选择的选项。

(5)单击“下一步”按钮,将显示“正在配置组件”对话框,并根据提示将Windows Server 2003安装光盘放入光驱。

(6)放入安装光盘后单击“确定”按钮,系统便开始从光盘中复制文件并安装Windows Media服务,并用进度条代表当前的安装进度。

(7)安装完成以后将显示对话框,这表示已经成功地将此服务器设置为流式媒体服务器。

(8)单击“完成”按钮关闭该向导,返回到“管理您的服务器”窗口,将显示流式媒体服务器已成功安装。

另外,Windows Media服务也可以在“控制面板”中,采用传统的“添加/删除程序”方式来添加安装。在“Windows组件向导”对话框中,选中Windows Media Services复选框,并根据系统提示插入Windows安装光盘即可成功安装。

Windows Media服务安装完成后,将返回到“管理您的服务器”窗口。单击其中的“流式媒体服务器”右侧的“管理此流式媒体服务器”超级链接,或依次单击“开始”->“控制面板”->“管理工具”->Windows Media Services选项,将显示Windows Media Services窗口。有关Windows Media服务的所有管理工作均可在该窗口中完成。

该窗口中介绍了关于流媒体的一些基础知识,以作为入门者对它的了解。在“入门”选项卡中,单击左侧基础知识中的某个选项,即可在右侧显示出关于该项的解释说明。

二、制作流式文件

Web服务可用来发布HTML文件,而视频点播服务自然可用来发布流媒体文件。使用Windows Media编码器,可以将文件扩展名为.wma、.wmv、.asf、.avi、.wav、.mpg、.mp3、.bmp和.jpg等文件转换成为Windows Media服务使用的流文件。.asf、.wma和.wmv文件扩展名代表标准的Windows Media文件格式。其中的.asf文件扩展名通常用于使用Windows Media Tools 4.0创建的基于Microsoft Media的内容。而.wma和.wmv文件扩展名是作为Windows Media编码器的标准命名约定引入的,目的是使用户能够容易区别纯音频(.wma)文件和视频(.wmv)文件,这三种扩展名可以交换使用。

1、安装Windows Media编码器

Windows Server 2003中并没有自带Windows Media编码器,需要到Microsoft官方网站上下载Windows Media编码器的简体中文版,然后再执行安装过程。需要注意的是,编码器既可以安装在Windows Media服务器上,同时也可以安装在其他计算机上。也就是说,编码器只需安装在执行编码(即转换文件格式)工作的计算机上。

(1)双击运行下载的Windows Media编码器安装文件,将显示安装向导对话框,在本安装向导中显示了可以安装的组件。

(2)单击“下一步”按钮,将显示“许可协议”对话框,要求用户阅读最终用户许可协议,可访问用户是否接受许可协议中的条款,然后单击“我接受许可协议中的条款”单选项。

(3)选择完之后单击“下一步”按钮,将显示“安装文件夹”对话框,在“安装文件夹”文本框中显示了Windows Media编码器将要安装的位置。当然,也可以键入其他的安装路径。单击“浏览”按钮以选择其他的安装路径。

(4)单击“下一步”按钮,即可显示“准备安装”对话框,此时表示现在可以开始安装Windows Media服务了。

(5)单击“安装”按钮,安装文件就会向硬盘中开始复制文件,并进行Windows Media 服务安装。在安装完成后就会显示安装完成对话框,提示已经成功地完成Windows Media编码器9系列安装向导。

(6)单击“完成”按钮以完成安装,并根据系统提示重新启动计算机。

依次单击“开始”->“程序”->Windows Media->“Windows Media编码器”选项,将会运行Windows Media编码器,并显示“Windows Media编码器”窗口。

2、转换文件格式

转换文件格式的标准描述应当是“对存储信息源编码”,其实也就是将保存在硬盘或光盘上的多媒体文件转换为Windows Media服务可使用的流媒体文件格式,这个文件格式转换过程叫做编码。Windows Media编码器可以将MPG和AVI格式的多媒体文件编码为WMV格式。

(1)依次单击“开始”->“所有程序”->“Windows Media”->“Windows Media编码器”选项,将显示“新建会话”对话框。选择其中的“转换文件”图标,以准备转换视频文件。

(2)单击“确定”按钮,将显示“新建会话向导”窗口。直接在“源文件”文本框中键入要转换文件所在的文件夹和文件名,或者直接单击“浏览”按钮,以查找要转换的文件。默认状态下,输出文件与源文件均保存在同一文件夹。当然,也可以重新指定保存的文件夹。

(3)单击“下一步”按钮,将显示“内容分发”对话框,以指定分发内容的方式。由于是为Windows Media服务制作节目,所以在这里应该要选择“Windows Media服务器(流式处理)”选项。

(4)单击“下一步”按钮,将显示“编码选项”对话框,在这里可以指定音频和视频编码方式。如果该视频文件只被用于局域网或宽带传输,可选择高质量的视频和音频,并指定较高帧速率,从而获得清晰的图像和逼真的声音。当然,此时所占用的网络带宽也偏高,文件存储空间也就大。在这里每选中一个比特率就会生成一个相应的WMV文件,因此通常情况下只需选中一个比特率即可。

(5)单击“下一步”按钮,将显示“显示信息”对话框,分别可以在相应的文本框中键入该视频文件的相关信息。

(6)单击“下一步”按钮,将显示“设置检查”对话框,在这里可以显示并检查该视频文件的相关信息。如果有任何错误,可以单击“上一步”按钮以返回至相关页面重新进行相关的设置。

(7)单击“完成”按钮,系统将开始文件格式的转换。这可能要花一段时间,需耐心等待。

(8)文件的格式转换完成后,将显示“编码结果”对话框,单击“关闭”按钮,以结束格式转换过程。若要继续转换下一个视频文件,可单击其中的“新建会话”按钮。若要检查刚转换的视频文件,可单击“播放输出文件”按钮。

3、对实况进行编码

对实况信息源进行编码运算,就是指通过将音频或视频设备录入的音频、视频或图片等源信息进行编码运算,以将它们转换为流或流文件的过程。对实况源进行编码的过程与对已存储信息源的编码过程特别相似。

(1)启动Windows Media编码器后,在“新建会话”对话框上的“向导”选项卡中,选择“捕获音频或视频”图标,然后单击“确定”按钮,以运行“新建会话向导”窗口。首先显示“设备选项”对话框,在这里显示用户可以使用的视频和音频设备。

(2)单击“下一步”按钮,将显示“输出文件”对话框,由于要将所创建的文件保存,需要在“文件名”文本框中键入保存路径,并自定义一个文件名,当然也可以单击“浏览”按钮来选择保存文件的文件夹。

(3)单击“下一步’按钮,将显示“内容分发”对话框,在“要如何分发内容”列表框中列出可以使用的分发方式。由于是对实况源进行流式处理,所以在这里应该选择“Windows Media服务器”选项。

(4)单击“下一步”按钮,将显示“编码选项”对话框。在这里显示了所选择的分发方式的编码设置,其中包括视频、音频和比特率等。如果用户不想使用这些默认设置,也可以进行修改。

(5)单击‘完成”按钮,’打开严Windows Media编码器”进行编码,也可以单击“下一步”按钮,将显示“显示信息”对话框。在这里可以为该编码文件添加显示信息,这些信息将在使用Windows Media Player播放,并且只存在启动了字幕时才可以看到。

(6)单击“完成”按钮后,会打开WindowsMedia编码器直接进行编码,也可以单击“下一步”按钮对刚才的设置信息进行检查,将显示“设置检查”对话框。

(7)如果确认所进行的设置无误后,就可以单击“完成”按钮完成。在这里要注意的是,如果选中“单击‘完成’后开始捕获”复选项,在单击“完成”按钮后会立即捕获信息并进行编码。否则不会立即进行捕获,将显示窗口。

(8)这时可以单击工具栏上的“属性”按钮来查看或修改所进行设置。如果要进行编码,可以单击“开始编码”按钮。当编码完成后可以单击“保存”按钮以打开“另存为”对话框,将该流的配置信息进行保存,以便于以后再次使用或修改配置。

(9)创建好流媒体文件以后,即可通过Windows Media Player播放器欣赏该文件。可以选择“文件”菜单中的“打开URL”选项,键入该流文件所在的URL,并单击“确定”按钮即可进行播放。

在“打开URL”对话框中需要键入的URL,可为以下URL地址:

mms://server_name/asfname
mms://server_ipaddress/asfname
mms://server_domain/asfname

其中,server_name、Server_ipaddress和erver_domain分别表示indows Media服务器的计算机名、IP地址的域名,而asfname则表示流的文件名。

4、捕获屏幕

Windows Media编码器还可以用来捕获屏幕、窗口,并且还可以把屏幕、屏幕中的特定区域或窗口在一段时间内的活动信息捕获并做成演示文件,以供其他用户观看或下载。

(1)首先启动Windows Media编码器,然后在Windows Media编码器主窗口中单击工具栏上的“新建会话”按钮,将显示“新建会话”对话框。选择“向导”选项卡中的“捕获屏幕”选项,然后单击“确定”按钮,将显示“新建会话向导”对话框。

(2)在该对话框中列出了可以捕获的三种方式,即特定窗口、屏幕区域和整个屏幕。选择其中的“特定窗口”选项,然后单击“下一步”按钮,将显示“窗口选择”对话框。在该对话框的“窗口”下拉列表中列出了当前所有的活动窗口,用户可以根据需要来选择一个要捕获的窗口。

如果在“屏幕捕获会话”对话框中选择了“屏幕区域”选项,单击“下一步”按钮后将显示“屏幕区域”对话框,这时可以在坐标框中输入屏幕区域的位置。如果为了方便,还可以单击屏幕区域选择按钮,然后在要捕获的屏幕区域上拖动鼠标指针来选择屏幕区域。然后在捕获屏幕时,Windows Media编码器主窗口会被最小化,并且不会同时被捕获。

如果选择的是“整个屏幕”选项,就会把整个屏幕的活动信息全部捕获下来,并做成相应的流文件。

(3)选择完捕获方式后单击“下一步”按钮,将显示“设置选择”对话框。在这里,要求用户根据输入文件大小和质量之间的平衡来进行选择。

(4)单击“下一步”按钮,将显示“显示信息”对话框,这与存储信息源和实况源的编码操作步骤类似,单击“完成”按钮即可开始进行编码。如果不想设置完成后就立即进行编码,可以取消“设置检查”对话框中的“单击‘完成’后开始捕获”选项,然后单击“完成”按钮,并在编码器主窗口中进行相应的修改。

至此我们就已完成了windows 2003 server 环境下windows Media视频服务器的搭建,下面就可以进行视频和音频点播了。

分类: Windows 标签: ,

网络基础知识普及—流量、带宽、MB/s、Mb/s、Mbps 区别

2012年4月5日 没有评论

MB/sMb/s是有区别的。其中大B代表Byte(字节),小b代表bit(比特 或 位)。
  1 Kb = 1024 bit
1 KB = 1024 Byte
1 Mb = 1024 Kb
1 MB = 1024 KB
1 Byte = 8 bit
1 MB = 8Mb
1 Mb = 0.125 MB

数据传输率的单位一般采用MB/s或Mb/s。
在数据传输率上官方数据中(如电信部门)一般采用Mb/s为单位。
而下载软件(如IE、迅雷、快车)一般采用MB/s为单位。

宽带最高下载理论值:
1Mb/s = 0.125MB/s = 128KB/s

电信部门说的1M宽带的M是指Mb/s,下载软件时的传输率是MB/S,也就是1M宽带下载速度最快128KB/s,再去掉损耗也就是120KB/s左右。按这个说法10M的宽带最快下载速度是1.25MB/s100M的宽带最快下载速度是12.5MB/s
       其实,所谓1M宽频,其实是指1Mbps(每秒百万位元)线路速度,而其下载速度计算方式是1 x 1024 / 8 = 128KB/sec(每秒128位元组),但这只是理论上的速度,因为在实际应用上,还要再减去大约25%网络速率的损耗。

以下图为示例说明带宽使用情况:

 

上图中我们下载一个文件为例子,显示带宽为 5.96mbps 。约等于ie显示的655KB 。

同理。如果是带宽为2mbps那就约等于为200KB/s 。

TMnet Streamyx官方网站披露,除了以太网络标头值(Ethernet Header)之外,这些流失因素包括传输控制协议标头值(TCP Header)有510%的传输消耗,而异步传输模式标头值(ATM Header)则多达15%。

因此:1M宽频的实际上网速度是1乘以1024和除去8,得出128KB/s再乘75%,等于96KB/s,就是你的1M宽频网络的真正速率。

目前我国宽频上网速度介于512Kbps2Mbps之间。同样的道理,在2M512K也是一样。512K则是512Kbps(每秒千位元)。以此计算的话,我们可以粗略得出目前宽频的实际下载速度:

宽频线路速度理想下载速度实际下载速度

2Mbps       256KB/s      192KB/s

1Mbps       128KB/s       96KB/s

512Kbps      64KB/s       48KB/s

一般说来,频宽越大,下载速度就越快,但下载速度除受服务供应商因素所影响外,用户本身所使用操作系统、浏览器及电脑配备等因素,亦可影响宽频速度,其中又以最大传输单位(Maximum Transmission UnitMTU)设定错误问题最为常见。

 

别让Mbps吓到了你

什么是512Kbps?2Mbps上网速度有多快?Kbps和Mbps又如何加以区分?

“Mbps”和“Kbps”等字眼经常在媒体出现,尽管很多人知道这些是网络速度的计算单位,但很少人知道它们之间的差别,以及其实际速率的计算法。

每天翻开报纸或杂志、扭开电视或收音机,穿插在新闻内容的“Mbps”和“Kbps”常会被错误引用。即使是经常采访资讯工艺新闻的IT记者,也常会对此混淆不清,因而闹出许多笑话。

例如:明明是1Mbps,被当成1Kbps,又或者把大写KB/s,当作小写的Kb/s。这种错误就像是跑得快的免子,却被形容为乌龟一样滑稽。

每秒千位元或百万位元

所谓的Mbps其实是指每秒百万位元(Megabits per second),而Kbps则是每秒千位元(Kilobits per second)

也许你会问:“位元又是什么?”其实,电脑是以Bit(位元)和Byte(位元组)作为计算单位。bit是“binary digit”的缩写,它是电脑辨识讯息的最小单位,再上一个更大的单位为位元组(byte)。

由于八个位元一组(8 bits = 1 byte),我们常在电脑打的每一个字体或符号等资料,通常会以位元组的方式来打包。一个位元组代表示一个字符,例如“Q”、“4”或“,”等,都属于一个位元组。

正如长度计算单位的公尺(Meter,M)和公里(Kilometer,KM)的情况一样,电脑将位元组的一千倍称作KB(Kilobyte)。而KB的一千倍为MB(Megabyte)。

当然,一千倍是笼统的说法。由于电脑使用的是二进位系统,准确的倍数计算法是二的十次方,因此1KB相等于1024个位元组。

KB和Kb大小写意义不同

一般用来上网的数据机及网络通讯的传输速率都是以“bps”为单位,例如14.4Kbps,28.8Kbps,56Kbps,1Mbps及2Mbps等等。

无论用作电脑储存或网络速度的计算单位,Kb/s和KB/s英文字母大写和小写之意义截然不同,这是许多人常会犯错的地方。

大写的B代表位元组(Byte),小写的b则代表位元(bit),所以MB(Megabyte)是百万位元组,Mb(megabit)是百万位元;KB/s是每秒千位元组,而Kbps则是每秒千位元。

网络速度单位之间关系:

●Kb/s=每秒千位元,用于线路速度。

●KB/s=每秒千位元组,用于下载速度。

●1KB/s = 8Kb/s

●1 Byte(位元组) = 8 bits(位元)

●1 Kb(千位元) = 1024 bit(位元)s

●1 KB(千位元组) = 1024 bytes(位元组)

●1 Mb (百万位元)= 1024 Kb(位元)

●1 MB(百万位元组) = 1024 KB(位元组)

 MB/s的含义是兆字节每秒,MbpsMb/s的含义是兆比特每秒,前者是指每秒传输的字节数量,后者是指每秒传输的比特位数。二者是完全不同的。Byte是字节数,bit是位数,在计算机中每八位为一字节,也就是1Byte8bit,是18的对应关系。因此1MB/s等于8Mb/s。因此在在书写单位时一定要注意B字母的大小写,此时B字母的大小真可以称为失之毫厘,谬以千里。

ps:

服务器使用中,机房限制流量如: 10TB月流量,约等于30M带宽100%使用率/每月!

cp复制小技巧–让cp不要再确认

2012年3月16日 没有评论

让cp 不要确认
方法:

在 /root 找 profile 出來, 把其中類似的
alias cp=’cp -i’
的加 comment 符, 再重新登入就可以了

如 .bash_profile 或 .bashrc

/root/.bash_profile 或 /root/.bashrc

linux crontab 详解

2012年2月16日 没有评论

linux crontab 详解

名称 : crontab

使用权限 : 所有使用者

使用方式 :

crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }

说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

餐数 :

-e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r : 删除目前的时程表
-l : 列出目前的时程表

时程表的格式如下 :
f1 f2 f3 f4 f5 program

其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其馀类推

使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例子 :

每月每天每小时的第 0 分钟执行一次 /bin/ls :
0 7 * * * /bin/ls

在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup

周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s “hi” alex@domain.name < /tmp/maildata

每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分….执行 echo “haha”
20 0-23/2 * * * echo “haha”

注意 :

当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可
名称 : crontab

使用权限 : 所有使用者

使用方式 :

crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }

说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

餐数 :

-e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r : 删除目前的时程表
-l : 列出目前的时程表

时程表的格式如下 :
f1 f2 f3 f4 f5 program

其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其馀类推

使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例子 :

每月每天每小时的第 0 分钟执行一次 /bin/ls :
0 7 * * * /bin/ls

在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup

周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s “hi” alex@domain.name < /tmp/maildata

每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分….执行 echo “haha”
20 0-23/2 * * * echo “haha”

注意 :

当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可

Linux下使用rsync最快速删除海量文件的方法

2012年1月10日 没有评论

在删除数十万个文件时我们常用的删除命令rm -fr * 就不好用了,因为要等待的时间太长。
所以必须要采取一些非常手段。我们可以使用rsysnc来实现快速删除大量文件。

例如我们要删除/delrmdir/ 目录。那我们按以下步骤来操作。

1、先安装rsync:

1
yum install rsync

2、建立一个空的文件夹:

1
mkdir /root/code/

3、用rsync删除目标目录:

1
rsync --delete-before -a -H -v --progress --stats /root/code/ /delrmdir/

这样我们要删除的delrmdir目录就会被清空了,删除的速度会非常快。

分类: Linux 标签: , , , ,

使用Putty登陆远程linux服务器

2011年12月4日 没有评论

如何管理和使用linux服务器呢?

一般我们会使用putty进行远程登陆管理

putty 软件下载地址:http://www.onlinedown.net/soft/2186.htm

使用很容易

输入ip 然后连接 有提示点 是 输入用户密码 登陆

如果密码太复杂可以在出现输入密码的提示符前先复制密码。然后对着密码提示符点一下右键。密码就已经输入进去了。这时直接回车就可以进入了!

php.ini中文版注释

2011年11月12日 没有评论

php.ini 是php语言环境中最为重要的配置文件。以下我们就来详细介绍一下参数及功能:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
;**************以下这部分是php.ini-recommended中的内容******************
;**********************************************************************************************
;[php 5.0.4 php.ini-recommended]
;;;;;;;;;;;;;;;;;
;;关于这个文件 ;;
;;;;;;;;;;;;;;;;;
; 这个版本是推荐使用的、PHP5风格的php.ini版本。
; 这个版本使用了一些非标准设置,目的是使PHP更加高效、安全,鼓励更加整洁的代码
; 代价是可能与某些程序不兼容,并给开发带来难度。我们鼓励在正式发布网站时使用这个配置。
; 所有与默认不同的设置都有明显的注明,你可以决定是否使用与默认不同的设置。
; 有关php.ini的普通说明请参考php安装文件夹下的php.ini-dist文件。
; 这个文件和php.ini-dist不同,有些参数的设置改变了,这样做是为了提高性能和保障安全。
; 请确认你阅读了不同之处,并且修改过你的脚本,再采用这个版本的配置文件。
;-----------------------------------------------------------------
;register_globals = Off [安全,性能]
; 不再为输入数据注册全局变量(POST, GET, cookies, 环境变量, 服务器变量)
; 不要使用$foo,而要使用$_REQUEST["foo"](包含任何通过请求传送的数据,即:POST, GET, cookies, 环境变量, 服务器变量),
; 或使用指定的$_GET["foo"], $_POST["foo"], $_COOKIE["foo"], $_FILES["foo"](不包含在$_REQUEST数组中), 这取决于请求来自何处。
; 同时,你可以查看import_request_variables()函数(将 GET/POST/Cookie 变量导入到全局作用域中)。
; 注意,register_globals将在下一个版本中被废除(默认关闭),因为它总是带来太多的安全问题。
; 请参考
http://php.net/manual/en/security.registerglobals.php
以获得更多信息。
;
; register_long_arrays = Off [性能]
; 禁用旧式的长式预定义数组($HTTP_*_VARS),取而代之以短式预定义超全局数组。
;
; display_errors = Off [安全]
; 关闭这个特性,脚本执行期间的错误/警告将不会显示输出,这样就不会将敏感信息暴露给远端用户。
; 一些错误/警告信息会暴露可能被攻击者利用的脚本信息、服务器信息、数据库信息。
; 正式发布网站时应当关闭这个特性。
;
;log_errors = On [安全]
; 这个指令是上一个指令的补充。
; 脚本执行期间的错误将被记录到日志文件中(比如系统日志),可以有几种不同的配置方法。
; 配合将"display_errors"关闭,这个设置可以让你明白那里出了问题,而不会暴露任何敏感信息给远端用户。
;
;output_buffering = 4096 [性能]
; 设置一个4K的输出缓冲。请用输出缓存可以减少写入动作,有时还能减少传输数据包的大小,这些都有助于提高性能。
; 这个参数的实际收益取很大程度上取决于你使用的是什么Web服务器,使用的是什么样的脚本。
;
; register_argc_argv = Off [性能]
; 禁止注册有些多余的$argv和$argc全局变量
;
; magic_quotes_gpc = Off [性能]
; 不将输入的数据用反斜杠进行转义,以便发送给数据库时不需要更多的处理。
; 事实上,你应该对每一个发送到数据库的输入数据使用addslashes()函数。
;
;variables_order = "GPCS" [性能]
; 使得$_ENV数组中的环境变量不再杂乱无章。
; 你应当使用getenv()函数存取环境变量。
;
; error_reporting = E_ALL [代码清洁,安全(?)]
; 默认情况下,PHP错误报告等级是E_NOTICE
; E_ALL表示报告所有非致命错误,因为这些错误可能会导致大问题(比如使用了未定义的变量)。
;
; allow_call_time_pass_reference = Off [代码清洁]
; 禁止默认将函数的参数按引用传递。
; PHP4/5风格的处理办法是在函数声明时指定按引用传递。
 
--------------------------------------------------------------------------------
;**************以下这部分是php.ini-dist的内容,但是包含了与php.ini-recommended的不同之处******************
;*********************************************************************************************************
[PHP 5.0.4 php.ini-dist]
;;;;;;;;;;
;; 警告 ;;
;;;;;;;;;;
; 这是PHP新安装时的默认设置。默认设置适合于开发但是不适合正式应用。
; 出于安全方面考虑,请在发布正式应用程序时使用php.ini-recommended
; 并且参考如下页面:
http://php.net/manual/en/security.php
;;;;;;;;;;;;;;;;;;;
;; 关于 php.ini ;;
;;;;;;;;;;;;;;;;;;;
; 这个文件控制了PHP许多方面的性能和行为。 为了让PHP正确读取这个文件,
; 它必须被命名为'php.ini'。PHP将按照如下顺序依次查找该文件:
; 1.当前工作目录;2.环境变量PHPRC指明的路径;3.编译时指定的路径。
; 在windows下,编译时的路径是Windows的安装目录(C:\WINDOWS等)。
; 在命令行模式下,php.ini的查找路径可以用 -c 参数指定。
;
; 该文件的语法非常简单。空白字符(" ","\t",...)和用分号(";")开始的行被简单地忽略。
; 章节标题(例如 : [php])也被简单地忽略,即使将来它们可能有某种意义。
;
; 设置格式如下:
; directive = value
; 指令标识符(directive) 是大小写敏感的! "foo=bar" 不同于 "FOO = bar"。
; 值(value)可以是:
; 1.一个字符串、2.一个数字、3.一个 PHP常量(如:E_ALL, M_PI)、
; 4.一个INI常量(On, Off, True, False, Yes, No, None)、
; 5.一个表达式(如:E_ALL &amp; ~E_NOTICE)、
; 6.用引号括起来的字符串("foo").
;
; INI文件中的表达式仅限于使用位运算符/逻辑非/小括号。
; | 位或
; &amp; 位与
; ~ 位非
; ! 逻辑非
;
; 布尔标志可用 1, On, True, Yes 打开,亦可用 0, Off, False, No 关闭。
;
; 一个空字符串可以用在等号后不写任何东西表示,或者用 none 关键字,举例如下:
; foo =将foo置为空字符串
; foo = none将foo置为空字符串
; foo = "none"将foo置为字符串'none'
;
; 如果你在值设置中使用常量,而这些常量属于动态扩展(PHP扩展或Zend扩展)
; 那么你只能在调入这些动态扩展的行之后使用这些常量。
;
; 所有在 php.ini-dist 文件里设定的值与内建的默认值相同。
; 也就是说,如果 php.ini 不存在,或者你删掉了某些行,默认值与之相同。
--------------------------------------------------------------------------------
;;;;;;;;;;;;;;;
;;; 语言选项 ;;
;;;;;;;;;;;;;;;
engine = On
; 使PHP脚本语言引擎在Apache下有效。
zend.ze1_compatibility_mode = Off
; 允许使用兼容Zend引擎1(PHP 4.x)的模式
short_open_tag = On
; 允许 "" 短标识,否则只有""和"..."才能被识别。
; 注意:除非你的php程序只供自己使用,否则请不要使用短标记。
; 如果要和XML结合使用PHP,你可以选择禁用此选项以方便直接嵌入使用 ,
; 不然你必须用PHP来输出:
; 本指令也会影响到缩写形式 ",这也会影响到缩写形式:
precision = 12
;[recommended]-&gt;precision = 14
; 浮点型数据显示的有效位数
y2k_compliance = On
; 强制打开2000年适应 (可能在非Y2K适应的浏览器中导致问题)
output_buffering = Off
;[recommended]-&gt;output_buffering = 4096
; 输出缓存允许你甚至在输出正文内容之后发送http头(包括cookies)。
; 其代价是输出层减慢一点点速度。
; 你可以在运行期间通过调用输出缓冲函数启用输出缓存。
; 你还可以通过设置"output_buffering=On"来为所有文件启用输出缓存(默认4096)。
; 如果你想指定缓冲区的最大字节数,你可以直接将"On"替换成数字,
; 比如:"output_buffering=4096"指定了缓存上限为4096字节。
;output_handler =
; 你可以将所有脚本输出重定向到一个输出处理函数。
; 比如,重定向到"mb_output_handler"函数时,字符编码将被透明地转换为指定的编码。
; 一旦你在这里指定了输出处理程序,"output_buffering"将被自动打开。
; 注意1: 在编写可移植脚本的时候不能依赖这个指令,而应明确的调用ob_start()函数打开输出缓存。
; 使用这个指令可能会导致某些你不熟悉的脚本出错。
; 注意2: 你不能同时使用"mb_output_handler"和"ob_iconv_handler"
; 你也不能同时使用"ob_gzhandler"和"zlib.output_compression"
; 注意3: 如果启用了zlib输出压缩,"output_handler"必须为空,取而代之,必须启用"zlib.output_handler"。
zlib.output_compression = Off
; 使用zlib库透明地压缩脚本输出结果。
; 该指令的值可以设置为:Off/On/字节数(用来作为压缩缓冲区大小,默认为4KB)
; 如果在php.ini或者apache配置中打开这个功能,当浏览器发送"Accept-Encoding: gzip(deflate)"头时,
; "Content-Encoding: gzip(deflate)"和"Vary: Accept-Encoding"头将加入到应答头当中。
; 你可以在答头输出之前用ini_set()函数在脚本中禁止这个特性,
; 如果你输出一个"Content-Type: image/"这样的应答头,压缩将不会启用(为了防止Netscape的bug)。
; 你可以在输出"Content-Type: image/"之后使用"ini_set('zlib.output_compression', 'On')"重新打开这个特性。
; 注意1: 压缩率会受压缩缓冲区大小的影响,如果你想得到更好的压缩质量,请指定一个较大的压缩缓冲区。
; 注意2: 如果启用了zlib输出压缩,"output_handler"必须为空,取而代之,必须启用"zlib.output_handler"。
;zlib.output_handler =
; 在打开"zlib.output_compression"指令的情况下,除这里以外,你不能另外指定输出处理程序。
; 这个指令和"output_handler"起相同的作用,但是顺序不同。
implicit_flush = Off
; 这个指令告诉PHP输出层在每个输出块之后自动刷新自身数据。默认为 FALSE
; 这等效于在每个print()、echo()、HTML块之后自动调用flush()函数。
; 打开这个选项对程序执行的性能有严重的影响,通常只推荐在调试时使用。
; 在CLI SAPI的执行模式下,该标记默认为 TRUE 。
unserialize_callback_func=
; 如果解序列化程序需要实例化一个未定义类,该这里指定的回调函数将以该未定义类的名字作为参数被调用,
; 以免得到不完整的"__PHP_Incomplete_Class"对象。
; 如果这里没有指定函数,或者指定的函数不包含(或实现)那个未定义的类,将会显示一条警告信息。
; 只有在你真想执行这样一个回调函数的情况下,才需要指定该参数的值。
; 可以通过 php.ini、ini_set() 或 .htaccess 定义"unserialize_callback_func"。
; 若要禁止这个特性,只需置空此设定。
serialize_precision = 100
; 将浮点型和双精度型数据序列化存储时,序列化精度指明了有效位数。
; 默认值能够确保浮点型数据被解序列化程序解码时不会有数据丢失。
allow_call_time_pass_reference = On
;[recommended]-&gt;allow_call_time_pass_reference = Off
; 强迫函数调用时按引用传递参数。
; php反对使用这一方法,并可能在将来版本的PHP/Zend里不再支持。
; 鼓励的方法是在函数声明里指定哪些参数按引用传递。
; 我们鼓励你尝试关闭这一选项并确认你的脚本仍能正常工作,以保证你的脚本在将来版本的语言里仍能正常工作。
; (每次使用此特性都会收到一条警告:参数会被按值传递而不是按照引用传递)
;;;;;;;;;;;;;
; 安全模式
safe_mode = Off
; 安全模式
safe_mode_gid = Off
; 安全模式默认情况下在打开文件时会做UID比较检查。
; 如果你想将其放宽到GID比较,可以打开这个参数。
safe_mode_include_dir =
; 在安全模式下,该文件夹和其子文件夹下的文件被包含时,将跳过UID/GID检查。
; (文件夹必须必须在"include_path"中或者用完整路径来包含)
; 从PHP4.2 开始,本指令可以接受和"include_path"指令类似的风格用分号隔开的路径,而不只是一个目录。
; 指定的限制实际上是一个前缀,而非一个目录名,也就是说"/dir/incl"将允许访问"/dir/include"和"/dir/incls"
; 如果您希望将访问控制在一个指定的目录,那么请在结尾加上一个斜线,例如:"/dir/incl/"
safe_mode_exec_dir =
; 在安全模式下,只有该文件夹下的可执行程序才能被允许通过system()和其它执行系统程序的函数执行。
; 这些函数是:escapeshellarg, escapeshellcmd, exec, passthru, proc_close, proc_get_status,
; proc_nice, proc_open, proc_terminate, shell_exec, system ....
safe_mode_allowed_env_vars = PHP_
; 该指令包含用逗号分隔的前缀列表,表示用户在安全模式下仅可以更改在此列出的前缀开头的环境变量的值。
; 因为设置某些环境变量,可能会导致潜在的安全漏洞。
; 默认地,用户将仅能设定以PHP_开头的环境变量,(如: PHP_FOO=BAR)。
; 注意: 如果这一参数值为空,PHP将允许用户更改任意环境变量!
safe_mode_protected_env_vars = LD_LIBRARY_PATH
; 这个指令包含一个用逗号分隔的环境变量列表,在安全模式下,列表中的变量是远端用户不能用putenv()更改的。
; 这些变量甚至在"safe_mode_allowed_env_vars"设置为允许的情况下也会得到保护。
;open_basedir =
; 将PHP允许打开的所有文件都限制在此目录下。无论安全模式是否打开,该参数都将起作用。
; 如果web服务器使用了per-directory或虚拟主机,这个参数将非常有意义。
; 当一个脚本试图用例如fopen()或者gzopen()打开一个指定目录树之外的文件时,将遭到拒绝。
; 所有的符号连接都会被解析,所以不可能通过符号连接来避开此限制。
; 特殊值'.'指定了存放该脚本的目录将被当做基准目录。
; 在Windows中,用分号分隔目录。在任何其它系统中用冒号分隔目录。
; 作为Apache模块时,父目录中的open_basedir路径将自动被继承。
; 用open_basedir指定的限制实际上是前缀,不是目录名。也就是说"/dir/incl"将允许访问"/dir/include"和"/dir/incls"
; 如果您希望将访问控制在一个指定的目录,那么请在结尾加上一个斜线,例如:"/dir/incl/"
; 默认是允许打开所有文件。
disable_functions =
; 这个指令让你可以出于安全原因禁用特定的函数。它接受一个用逗号分隔的函数名列表。
; 无论安全模式是否打开,该参数都将起作用。
; 本指令只能设置在php.ini中。例如你不能将其设置在httpd.conf中
disable_classes =
; 这个指令让你可以出于安全原因禁用特定的类。它接受一个用逗号分隔的类名列表。
; 无论安全模式是否打开,该指令都将起作用。本指令自 PHP 4.3.2 起可用。
; 本指令只能设置在php.ini中。例如你不能将其设置在httpd.conf中
;highlight.string = #DD0000
;highlight.comment = #FF9900
;highlight.keyword = #007700
;highlight.bg = #FFFFFF
;highlight.default = #0000BB
;highlight.html = #000000
; 语法高亮模式的色彩。
; 只要能被接受的东西就能正常工作。
;;;;;;;;;
; 杂项
expose_php = On
; 决定PHP是否暴露它被安装在服务器上的事实(比如出现在http头中)
; 它不会有安全上的威胁, 但它使得检查你的服务器上是否安装了PHP成为了可能。
--------------------------------------------------------------------------------
;;;;;;;;;;;;;;
;; 资源限制 ;;
;;;;;;;;;;;;;;
max_execution_time = 30
; 每个脚本最大允许执行时间, 按秒计。默认为30秒。
; 这个参数有助于阻止劣质脚本无休止的占用服务器资源。
; 注: "max_execution_time"仅影响脚本本身的运行时间。
; 任何其它花费在脚本运行之外的时间,如用system()/sleep()函数的使用、数据库查询、文件上传等,都不包括在内。
; 在安全模式下,你不能用ini_set()在运行时改变这个设置。
max_input_time = 60
; 每个脚本接收输入数据的最大允许时间(POST, GET, upload), 按秒计
memory_limit = 8M
; 设定一个脚本所能够申请到的最大内存字节数。
; 这有助于防止劣质脚本消耗完服务器上的所有内存。
; 要使用此指令必须在编译的时候激活。
; 因此 configure 一行中应该包括:--enable-memory-limit
; 如果不需要任何内存上的限制,必须将其设为 -1
; 自php4.3.2 起,当设置了memory_limit后,memory_get_usage()函数将变为可用
;;;;;;;;;;;;;;;;;;;;
;; 出错处理和日志 ;;
;;;;;;;;;;;;;;;;;;;;
error_reporting = E_ALL &amp; ~E_NOTICE &amp; ~E_STRICT
;[recommended]-&gt;error_reporting = E_ALL
; 显示所有的错误,除了提醒和编码标准化警告。
; 错误报告是位字段。可以将数字加起来得到想要的错误报告等级。
; E_ALL - 所有的错误和警告(不包括 E_STRICT)
; E_ERROR - 致命性的运行时错误
; E_WARNING - 运行时警告(非致命性错误)
; E_PARSE - 编译时解析错误
; E_NOTICE - 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
; E_STRICT - 编码标准化警告,允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
; E_CORE_ERROR - PHP启动时初始化过程中的致命错误
; E_CORE_WARNING - PHP启动时初始化过程中的警告(非致命性错)
; E_COMPILE_ERROR - 编译时致命性错
; E_COMPILE_WARNING - 编译时警告(非致命性错)
; E_USER_ERROR - 用户自定义的错误消息
; E_USER_WARNING - 用户自定义的警告消息
; E_USER_NOTICE - 用户自定义的提醒消息
; 例子:
;error_reporting = E_ALL &amp; ~E_NOTICE ; 显示所有的错误,除了提醒
;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; 仅显示错误
display_errors = On
;[recommended]-&gt;display_errors = Off
; 作为输出的一部分显示出错误信息
; 在最终发布的web站点上,强烈建议你关掉这个特性,并使用错误日志代替(参看下面)。
; 在最终发布的web站点打开这个特性可能暴露一些安全信息,
; 例如你的web服务上的文件路径、数据库规划或别的信息。
display_startup_errors = Off
; 即使"display_errors"特性被打开,关闭此参数也将不显示PHP启动时的错误。
; 强烈建议你关掉这个特性,除非你必须要用于调试中。
log_errors = Off
;[recommended]-&gt;log_errors = On
; 在日志文件里记录错误(服务器指定的日志,stderr标准错误输出,或error_log(下面的))
; 正如上面说明的那样,强烈建议你在最终发布的web站点时用日志记录错误而不是直接输出。
log_errors_max_len = 1024
; 设置错误日志文件的最大长度。
; 设为 0 可以允许无限长度。
ignore_repeated_errors = Off
; 忽略重复的错误信息
; 如果关闭这个参数,错误信息必须出现在同一个文件的同一行才被忽略。
; 如果打开这个参数,则没有这个限制。
ignore_repeated_source = Off
; 忽略重复的错误源
; 忽略重复的错误信息时忽略重复的错误源
; 如果打开这个参数,将不会记录不同的出错文件和对应行的错误信息。
report_memleaks = On
; 报告内存泄漏
; 如果关闭该参数,将不记录或者显示内存泄漏
; 这个参数只在调试编译中起作用,并且必须在错误报告中包含 E_WARNING
track_errors = Off
; 保存最近一个错误/警告消息于变量$php_errormsg (boolean)中
;html_errors = Off
; 禁用出错信息中的HTML标记
; 注意: 不要在发布的程序中使用这个特性。
;docref_root = "/phpmanual/"
;docref_ext = .html
; 如果打开了html_errors参数,PHP将会在出错信息上显示超连接,
; 直接链接到一个说明这个错误或者导致这个错误的函数的页面。
; 你可以从
http://www.php.net/docs.php
下载php手册,并设置docref_root参数,将他指向你本地的手册所在目录。
; 你还必须设置"docref_ext"来指定文件的扩展名。
; 注意: 不要在发布的程序中使用这个特性。
;error_prepend_string = ""
; 用于错误信息前输出的字符串
;error_append_string = ""
; 用于错误信息后输出的字符串
;error_log = filename
; 将错误日志记录到哪个文件中。
; 如果设为"syslog", 错误日志将被记录到系统日志中(NT下的事件日志, Unix下的syslog(3))
--------------------------------------------------------------------------------
;;;;;;;;;;;;;;
;; 数据处理 ;;
;;;;;;;;;;;;;;
;arg_separator.output = "&amp;"
; PHP所产生的URL中来分隔参数的分隔符。默认值是"&amp;"
;arg_separator.input = ";&amp;"
; PHP解析URL中的变量时使用的分隔符列表,默认值是"&amp;"
; 注意: 字符串中的任何字符都将被看着分割符
variables_order = "EGPCS"
;[recommended]-&gt;variables_order = "GPCS"
; PHP注册 GET, POST, Cookie, Environment, Built-in 变量的顺序。
; (以 G, P, C, E, S 表示,通常以 EGPCS 或 GPC 或 ES 的方式引用)。
; 按从左到右记录,新值覆盖旧值。
; 举例说,将其设为"GP",会导致 PHP 完全忽略环境变量、cookies 、server,
; 并用 GET 方法的变量覆盖 POST 方法的同名变量
register_globals = Off
; 是否将这些 EGPCS 变量注册为全局变量。自 PHP 4.2.0 开始,本指令默认为 off
; 例如,如果打开这个特性,那么URL:
http://www.example.com/test.php?id=3
将产生 $id
; 或者从 $_SERVER['DOCUMENT_ROOT'] 得到 $DOCUMENT_ROOT 。
; 如果你不想让脚本中的全局变量和用户输入的数据搞混的话,请关闭它。
; 推荐使用PHP的预定义变量来替代,例如超全局变量:$_ENV,$_GET,$_POST,$_COOKIE 和 $_SERVER
; 请注意, register_globals不能在运行时设定(ini_set()),尽管在主机允许时可以用 .htaccess 来设置
; 一个 .htaccess 项目的例子:php_flag register_globals on
; 注: register_globals 受 variables_order 指令的影响。
register_long_arrays = On
;[recommended]-&gt;register_long_arrays = Off
; 是否启用旧式的长式数组(HTTP_*_VARS),推荐关闭该特性以获得更好的性能。
register_argc_argv = On
;[recommended]-&gt;register_argc_argv = Off
; 是否声明 argv和argc 变量(其中包含用GET方法传来的数据)
; 【argv为变量数组,argc为变量数组中元素个数】
; 若你不想使用这两个变量,应当关掉它以提高性能。
post_max_size = 8M
; PHP接受的POST数据最大长度。此设定也影响到文件上传。
; 要上传大文件,该值必须大于"upload_max_filesize"
; 如果配置脚本中激活了内存限制,"memory_limit"也会影响文件上传。
; 一般说来,"memory_limit"应该比"post_max_size"要大。
;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 魔术引号(自动字符串转义)
magic_quotes_gpc = On
;[recommended]-&gt;magic_quotes_gpc = Off
; 在输入的GET/POST/Cookie数据里使用自动字符串转义【比如,值 (It's "PHP!") 会自动转换成 (It\'s \"PHP!\")】
; 这里的设置自动影响$_GEST,$_POST,$_COOKIE数组的值。如果打开,值 (It's "PHP!") 会自动转换成 (It\'s \"PHP!\")。
; (个人意见:关闭此特性, 因为它在处理双字节汉字的时候可能会破坏某些繁体字和特殊字符)
magic_quotes_runtime = Off
; 对运行时从外部资源产生的数据使用自动字符串转义
; 例如:用SQL查询得到的数据,用exec()函数得到的数据,等等
magic_quotes_sybase = Off
; 采用 Sybase形式的自动字符串转义( 用 '' 表示 ' 而不用 \' )
auto_prepend_file =
; 指定在主文件之前自动解析的文件名。
; 该文件就像调用了include()函数一样被包含进来,因此会使用"include_path"
auto_append_file =
; 指定在主文件之后自动解析的文件名。
; 该文件就像调用了include()函数一样被包含进来,因此会使用"include_path"
; 注: 如果脚本通过 exit() 终止,则自动后缀不会发生。
default_mimetype = "text/html"
;default_charset = "iso-8859-1"
; PHP总是默认地在"Content-type:"头中设置输出文档的MIME类型和字符集的编码方式。
; 要让输出字符集失效,只要设置为空或注释掉即可。
; PHP的默认设置会输出"Content-Type: text/html"
; 若去掉"default_charset"前的注释并将其设为"gb2312",
; 那么将会输出"Content-Type: text/html; charset=gb2312"
;always_populate_raw_post_data = On
; 总是填充$HTTP_RAW_POST_DATA变量,"HTTP_RAW_POST_DATA"意为"HTTP原始POST数据"
--------------------------------------------------------------------------------
;;;;;;;;;;;;;;;;
;; 路径和目录 ;;
;;;;;;;;;;;;;;;;
;include_path = ".;c:\php\includes"
; 指定一组目录用于require(),include()和fopen_with_path()函数来寻找文件。
; 格式和系统的 PATH 环境变量类似:
; 一组目录的列表,在 UNIX 下用冒号分隔,在 Windows 下用分号分隔。
; 在包含路径中使用 '.' 可以允许相对路径,它代表当前目录。
; UNIX: "/path1:/path2"
; Windows: "\path1;\path2"
doc_root =
; PHP页面在服务器上的根目录。仅在非空时有效。
; 如果PHP被配置为安全模式,则此目录之外的文件一概不被解析。
; 如果PHP编译时没有指定FORCE_REDIRECT,并且在非IIS服务器上以CGI方式运行,
; 则必须设置此项。(参见手册中的安全部分)
; 替代方案是使用下面的"cgi.force_redirect"指令。
user_dir =
; 告诉php在使用 /~username 打开脚本时到哪个目录下去找,仅在非空时有效。
; 也就是在用户目录之下使用PHP文件的基本目录名,例如:public_html
extension_dir = "./"
; 存放扩展库(模块)的目录,也就是PHP用来寻找动态连接扩展库的目录
enable_dl = On
; 是否使dl()函数有效。
; dl()函数在除apache以外的多线程的服务器(如:IIS或Zeus)上不能正确地工作,并在其上默认为禁止。
;cgi.force_redirect = 1
; 打开cgi强制重定向为以CGI方式运行的php提供了必要的安全保护,php默认打开了该参数。
; 你若自己关闭了它,请自己负责后果
; 注意:在IIS/OmniHTTPD/Xitami上则必须关闭它!
;cgi.nph = 1
; 如果该参数打开,那么它会强制cgi对每个http请求始终发送状态码: 200
;cgi.redirect_status_env =
; 如果打开了cgi.force_redirect,并且你没有将php运行在Apache或Netscape(iPlanet)服务器上,
; 可能需要设定一个cgi重定向环境变量名,PHP将去寻找它来知道可以继续执行下去。
; 设置这个变量会导致安全漏洞,请务必在设置前搞清楚自己在做什么。
;fastcgi.impersonate = 1
; IIS中的FastCGI支持模仿客户端安全令牌的能力。这使得IIS能够定义运行时所基于的请求的安全上下文。
; Apache中的mod_fastcgi不支持此特性(03/17/2002)
; 如果在IIS中运行则设为1,默认为 0
;cgi.rfc2616_headers = 0
; 指定PHP在发送HTTP响应代码时使用何种报头。
; 如果设定为0,PHP发送一个"Status: "报头,Apache和其它web server都支持。
; 若设为0,则PHP使用Apache支持的头。若设为1,则PHP使用RFC2616标准的头。默认值为0
; 除非你知道自己在做什么,否则保留其值为 0
;;;;;;;;;;;;;;
;; 文件上传 ;;
;;;;;;;;;;;;;;
file_uploads = On
; 是否允许HTTP文件上传。参见upload_max_filesize,upload_tmp_dir,post_max_size
;upload_tmp_dir =
; 文件上传时存放文件的临时目录。必须是PHP进程用户可写的目录。如果未指定则PHP使用系统默认值。
upload_max_filesize = 2M
; 允许上传的文件的最大尺寸。
;;;;;;;;;;;;;;
;; 文件打开 ;;
;;;;;;;;;;;;;;
allow_url_fopen = On
; 是否允许打开远程文件( http:// or ftp://)
;from="
john@doe.com
"
; 定义匿名ftp的密码(一个email地址)
;user_agent="PHP"
; 定义"User-Agent"字符串
default_socket_timeout = 60
; socket超时,单位是秒
;auto_detect_line_endings = Off
; 如果的你脚本必须处理Macintosh文件,或者你运行在Macintosh上,同时又要处理unix或win32文件,
; 设置这个标志可以让PHP自动侦察文件结束符,以便fgets()和file()函数正常工作。
; 默认值是 Off,因为在检测第一行的 EOL 习惯时会有很小的性能损失,
; 而且在 Unix 系统下使用回车符作为项目分隔符的人们会遭遇向下不兼容的行为。
;;;;;;;;;;;;;;
;; 动态扩展 ;;
;;;;;;;;;;;;;;
; 若你希望一个扩展库自动加载,可用下面的语法:
; extension=modulename.extension
; 例如,在windows上:
; extension=msql.dll
; 在UNIX上:
; extension=msql.so
; 注意,这只应当是模块的名字,不需要附带目录信息。
; 上面的extension_dir已经指示了扩展库的位置。
;Windows 扩展
;注意,ODBC是内置支持的,不需要使用扩展。(MySQL没有内置)
;extension=php_bz2.dll
;extension=php_cpdf.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_java.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_msql.dll
;extension=php_mysql.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_oracle.dll
;extension=php_pdf.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_sockets.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_w32api.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_yaz.dll
;extension=php_zip.dll
--------------------------------------------------------------------------------
;;;;;;;;;;;;;;
;; 模块设置 ;;
;;;;;;;;;;;;;;
[Syslog]
define_syslog_variables = Off
; 是否定义各种的系统日志变量,如:$LOG_PID, $LOG_CRON 等等。
; 关掉它以提高效率的好主意。
; 你可以在运行时调用函数define_syslog_variables()来定义这些变量
[mail function]
SMTP = localhost ;仅用于win32系统
smtp_port = 25 ;仅用于win32系统
;sendmail_from =
me@example.com
;仅用于win32系统
;sendmail_path = ;仅用于unix, 也可支持参数(默认的是'sendmail -t -i')
;mail.force_extra_parameters =
; Force the addition of the specified parameters to be passed as extra parameters to the sendmail binary.
; These parameters will always replace the value of the 5th parameter to mail(), even in safe mode.
[SQL]
sql.safe_mode = Off
[ODBC]
;odbc.default_db = (暂未实现)
;odbc.default_user = (暂未实现)
;odbc.default_pw = (暂未实现)
odbc.allow_persistent = On ; 是否允许持久连接
odbc.check_persistent = On ; 在重用前检查连接是否还可用
odbc.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制
odbc.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制
odbc.defaultlrl = 4096
; 处理LONG类型的字段。返回变量的字节数,0代表通过(?)
; Handling of LONG fields. Returns number of bytes to variables. 0 means passthru.
odbc.defaultbinmode = 1
; 处理二进制数据。0代表通过(?) 1返回原样, 2转换为字符
; 参见odbc_binmode和odbc_longreadlen文档以得到uodbc.defaultlrl和uodbc.defaultbinmode的解释。
[MySQL]
; php内置的MySQL扩展库无法同4.1.0以上版本的MySQL一起工作。你需要使用MySQLi扩展。
; MySQLi扩展模块与recode扩展模块共同使用的时候,可能会造成PHP的崩溃和启动时出现问题。
; 如果您需要除latin(默认)以外其它的字符集,您需要安装有已编译字符集支持的外置libmysql(未集成)
mysql.allow_persistent = On ; 允许或禁止持久连接
mysql.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制
mysql.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制
mysql.default_socket = ; 用于本地MySql连接的默认的套接字名。为空时使用MYSQL内置的默认值
mysql.default_port =
; mysql_connect()使用的默认TCP端口,如果没有指定默认端口号,
; mysql_connect()将按顺序从:(1)$MYSQL_TCP_PORT环境变量、
; (2)/etc/services文件中的mysql-tcp项(unix)、(3)编译时指定的MYSQL_PORT常量 中获得。
; Win32下,只使用 MYSQL_PORT 常量。
mysql.default_host = ; mysql_connect() 默认使用的主机(安全模式下无效)
mysql.default_user = ; mysql_connect() 默认使用的用户名(安全模式下无效)
mysql.default_password =
; mysql_connect() 默认使用的密码(安全模式下无效)
; 注意,在这个文件下保存密码通常是一个坏主意
; 任何可以使用PHP访问的用户都可以运行'echo cfg_get_var("mysql.default_password")'来显示密码!
; 而且当然地,任何有读该文件权力的用户也能看到那个密码。
mysql.connect_timeout = 60
; 连接超时(秒),-1 代表无限制。
; 在Linux中,这个参数设定了等候来自服务器的响应的时长。
mysql.trace_mode = Off
; 跟踪模式。当打开这个特性后,扫描表或索引时SQL的警告将会被显示。
[MySQLI]
mysqli.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制
mysqli.default_socket = ; 用于本机MySql连接的默认的套接字名。为空时使用MYSQL内置的默认值
mysqli.default_port = 3306
; mysqli_connect()使用的默认TCP端口,如果没有指定默认端口号,
; mysqli_connect()将按顺序从:(1)$MYSQL_TCP_PORT环境变量、
; (2)/etc/services文件中的mysql-tcp项(unix)、(3)编译时指定的MYSQL_PORT常量 中获得。
; Win32下,只使用 MYSQL_PORT 常量。
mysqli.default_host = ; mysqli_connect() 默认使用的主机(安全模式下无效)
mysqli.default_user = ; mysqli_connect() 默认使用的用户名(安全模式下无效)
mysqli.default_password =
; mysqli_connect() 默认使用的密码(安全模式下无效)
; 注意,在这个文件下保存密码通常是一个坏主意
; 任何可以使用PHP访问的用户都可以运行'echo cfg_get_var("mysql.default_password")'来显示密码!
; 而且当然地,任何有读该文件权力的用户也能看到那个密码。
mysqli.reconnect = Off
; 跟踪模式。当打开这个特性后,扫描表或索引时SQL的警告将会被显示。
[mSQL]
msql.allow_persistent = On ; 允许或禁止持久连接
msql.max_persistent = -1 ; 最大持久连接数。-1 代表无限制
msql.max_links = -1 ; 最大连接数(持久和非持久)。-1 代表无限制
[PostgresSQL]
pgsql.allow_persistent = On ; 允许或禁止持久连接
pgsql.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制
pgsql.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制
pgsql.auto_reset_persistent = Off
; 检测用在pg_pconnect()上中断了的持久连接,需要一些额外开销。
pgsql.ignore_notice = 0
; 是否忽略PostgreSQL后端的通告消息。记录后端的通告消息需要一些额外开销。
pgsql.log_notice = 0
; 是否在日志中记录PostgreSQL后端的通告消息。除非pgsql.ignore_notice=0,否则无法记录。
[Sybase]
sybase.allow_persistent = On ; 允许或禁止持久连接
sybase.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制
sybase.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制
;sybase.interface_file = "/usr/sybase/interfaces"
sybase.min_error_severity = 10 ; 显示错误的最低严重性
sybase.min_message_severity = 10 ; 显示消息的最低重要性
sybase.compatability_mode = Off
; 与PHP3兼容的模式。若打开,这将导致PHP自动根据结果的Sybase类型赋值,而不是把它们全当成字符串。
; 这个兼容模式不会永远保留,将来会被丢弃。
[Sybase-CT]
sybct.allow_persistent = On ; 允许或禁止持久连接
sybct.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制
sybct.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制
sybct.min_server_severity = 10 ; 显示服务端错误的最低严重性
sybct.min_client_severity = 10 ; 显示客户端错误的最低严重性
[dbx]
; returned column names can be converted for compatibility reasons
; possible values for dbx.colnames_case are
; "unchanged" (default, if not set)
; "lowercase"
; "uppercase"
; the recommended default is either upper- or lowercase, but
; unchanged is currently set for backwards compatibility
dbx.colnames_case = "unchanged"
[bcmath]
bcmath.scale = 0
; 用于所有bcmath函数的10十进制数数字的个数
[browscap]
;browscap = extra/browscap.ini
;browscap = c:/windows/system32/inetsrv/browscap.ini ;winxp
;browscap = c:/winnt/system32/inetsrv/browscap.ini ;win2000
; 只有PWS和IIS需要这个设置
; 你可以从
http://www.garykeith.com/browsers/downloads.asp
得到一个 browscap.ini 文件。
[Informix]
ifx.default_host = ; ifx_connect() 默认使用的主机(安全模式下无效)
ifx.default_user = ; ifx_connect() 默认使用的用户名(安全模式下无效)
ifx.default_password = ; ifx_connect() 默认使用的密码(安全模式下无效)
ifx.allow_persistent = On ; 允许或禁止持久连接
ifx.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制
ifx.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制
ifx.textasvarchar = 0
; 若打开,select状态符返回一个"text blob"字段的内容,而不是它的id
ifx.byteasvarchar = 0
; 若打开,select状态符返回一个"byte blob"字段的内容,而不是它的id
ifx.charasvarchar = 0
; 追踪从固定长度的字符列里剥离的空格。可能对 Informix SE 用户有效。
ifx.blobinfile = 0
; 若打开,text和byte blobs的内容被导出到一个文件而不是保存到内存。
ifx.nullformat = 0
; 设为0, NULL被作为空字段返回。设为1, NULL作为字串"NULL"返回。
--------------------------------------------------------------------------------
[Session]
; 注意,除非使用session_register()或$_SESSION注册了一个变量。
; 否则不管是否使用了session_start(),都不会自动添加任何session记录。
session.save_handler = files
; 用于保存/检索数据的处理程序,默认是文件(files)。
;session.save_path = "/tmp"
; 在"session.save_handler=files"的情况下,这个参数指定了会话数据文件的保存路径。
; Windows用户必须修改此参数才能使用会话相关函数。
; 你可以这样定义路径(N是一个整数):session.save_path = "N;[MODE;]/path"
; N表示可以使用N层深度的子目录,而不是将所有数据文件都保存在一个目录下。
; [MODE;]加了括号表示可选,表示它必须用8进制数来表示,其默认值是600 (等于384)。
; The file storage module creates files using mode 600 by default.
; Note that this does not overwrite the process's umask.
; 这是一个提高Windows下海量会话性能的好主意。
; 注意0: "N;/path"两边的双引号不能省略。
; 注意1: php不会自动建立这些文件夹结构。你可以使用ext/session目录下的脚本来做这件事情。
; 注意2: 如果你指定的文件夹可以被不安全的用户读取(比如默认的"/tmp"),那么将会带来安全漏洞。
; 注意3: 参见下面有关垃圾搜集的章节。
session.use_cookies = 1
; 是否使用cookie在客户端保存session id,默认为1(使用)
;session.use_only_cookies = 1
; 只使用Cookie来承载会话,默认为0 (关闭)
; 打开这个选项可以避免用URL传递会话带来的安全问题。但是禁用Cookie的客户端将使session无法工作。
session.name = PHPSESSID
;用在cookie里的会话标识名,只能包含字母和数字。
session.auto_start = 0
; 在客户访问任何页面时自动初始化会话,默认禁止。
; 因为类定义必须在session启动之前被载入,所以若打开这个选项,你就不能在sessions中存放对象。
session.cookie_lifetime = 0
; session_cookie的有效期(秒),若为0,则仅在浏览器打开期间有效。
session.cookie_path = /
; session_cookie的作用路径
session.cookie_domain =
; session_cookie的作用域,默认为空。
session.serialize_handler = php
; 用来序列化/解序列化数据的处理程序,php是PHP的标准序列化/解序列化处理程序。
session.gc_probability = 1
session.gc_divisor = 100
;[recommended]-&gt;session.gc_divisor = 1000
; 定义在每次初始化会话时,启动垃圾回收程序的概率。
; 这个收集概率计算公式如下:gc_probability/gc_divisor
; 比如:1/100 表示每一个新会话初始化时,有1%的概率会启动垃圾回收程序。
session.gc_maxlifetime = 1440
; 经过此参数所指的秒数后,保存的数据将被视为'垃圾'并由垃圾回收程序清理。
; 判断的标准是文件建立的时间,而不是最后刷新数据的时间。
; 注意: 如果你使用了子目录来存储会话的数据文件(参见:session.save_path),垃圾回收程序不会自动启动。
; 你必须使用一个你自己编写的shell脚本、克隆目录或者其他办法来执行垃圾搜集。
; 比如,下面的脚本相当于设置了"session.gc_maxlifetime=1440" (24分钟):
; cd /path/to/sessions; find -cmin +24 | xargs rm
session.bug_compat_42 = 1
;[recommended]-&gt;session.bug_compat_42 = 0
session.bug_compat_warn = 1
; PHP4.2之前的版本有一个未注明的"特性"(也可看作bug):
; 即使在"register_globals = Off"的情况下也允许初始化全局session变量,
; 如果你在PHP4.3之后的版本中使用这个特性,会显示一条警告。你可以分别禁用这个特性和警告。
; 若打开bug_compat_42,将只显示警告。
session.referer_check =
; 检查HTTP头中的"Referer"以判断包含于URL中的会话id是否有效
; HTTP_REFERER必须包含这个参数指定的字符串,否则URL中的会话id将被视为无效。
; 默认为空,即不检查。
;session.entropy_length = 16
; 从文件中读取多少字节(entropy:平均信息量)[设定session从高熵值资源读取的位数。]
; 默认为0,表示禁用。
; How many bytes to read from the file. Defaults to 0 (disabled).
; specifies the number of bytes which will be read from the file specified above.
;session.entropy_file = /dev/urandom
; 指定创建会话id的文件夹[使用外部高熵值资源或文件来建立session代码,例如 UNIX 系统上的 /dev/random?或 /dev/urandom]
; Specified here to create the session id.
; gives a path to an external resource (file) which will be used as an additional entropy source
; in the session id creation process.
; Examples are /dev/random or /dev/urandom which are available on many Unix systems.
session.cache_limiter = nocache
; 设为{none/nocache/private/private_no_expire/public}以指定会话页面的缓存控制模式,
; 或者设为空以阻止在http应答头中发送禁用缓存的命令。
; 默认为"nocache"
session.cache_expire = 180
; 指定会话页面在客户端cache中的有效期限(分钟)
; "session.cache_limiter=nocache"时,此设置将失效。
session.use_trans_sid = 0
; 默认是禁止用明码在URL中显示sid(session_id)的,因为它会给你的用户带来安全危险,因为:
; 1- 用户可能将包含有效sid的URL 通过email/irc/QQ/MSN...途径告诉给其他人。
; 2- 包含有效sid的URL可能会被保存在公用电脑上。
; 3- 用户可能保存带有固定不变sid的URL在他们的收藏夹或者浏览历史纪录里面。
session.hash_function = 0
;[recommended]-&gt;session.hash_function = 1
; 生成session_id的hash函数,SHA-1的安全性更高一些
; 0: MD5 (128 bits)
; 1: SHA-1 (160 bits)
session.hash_bits_per_character = 4
;[recommended]-&gt;session.hash_bits_per_character = 5
; 指定在session_id字符串中的每个字符内保存多少位二进制数,
; 这些二进制数是hash函数的运算结果。
; 4 bits: 0-9, a-f
; 5 bits: 0-9, a-v
; 6 bits: 0-9, a-z, A-Z, "-", ","
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
;[recommended]-&gt;url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
; 指定重写哪些HTML标签来包含sid(session_id)(仅在"session.use_trans_sid"打开的情况下有效)
; form和fieldset比较特殊:
; 如果你包含他们,URL重写器将添加一个隐藏的"",它包含了本应当额外追加到URL上的信息。
; 如果你想兼容XHTML标准,请使用"fieldset"代替"form"。
; 注意:所有合法的项都需要一个等号??即使后面没有值。
--------------------------------------------------------------------------------
[MSSQL]
mssql.allow_persistent = On ; 允许或禁止持久连接
mssql.max_persistent = -1 ; 每个进程中允许的最大持久连接数。-1 代表无限制
mssql.max_links = -1 ; 每个进程中允许的最大连接数(持久和非持久)。-1 代表无限制
mssql.min_error_severity = 10 ; 显示错误的最低严重性
mssql.min_message_severity = 10 ; 显示消息的最低重要性
mssql.compatability_mode = Off ; 与旧版的PHP3.0兼容的模式。
;mssql.connect_timeout = 5 ; 连接超时(秒)
;mssql.timeout = 60 ; 查询超时(秒)
;mssql.textlimit = 4096 ; 取值范围:0 - 2147483647
;mssql.textsize = 4096 ; 取值范围:0 - 2147483647
;mssql.batchsize = 0
; 每批记录最大条数(0 表示所有记录都在一批当中)
;mssql.datetimeconvert = On
; 指定datetime/datetim4字段的返回方式。
; On =&gt; 按照SQL server的设置返回
; Off =&gt; 按照 YYYY-MM-DD hh:mm:ss 格式返回
mssql.secure_connection = Off
; 连接到数据库时使用NT身份认证
;mssql.max_procs = 25
; 指定最大进程数,默认为 25
[Assertion]
;assert.active = On ; 断言(表达式),默认生效。
;assert.warning = On ; 为每个失败的断言发出警告。
;assert.bail = Off ; 默认不释放。
;assert.callback = 0 ; 如果断言失败,就调用一个用户函数。
;assert.quiet_eval = 0
; Eval the expression with current error_reporting(). Set to true if you want error_reporting(0) around the eval().
[Ingres II]
ingres.allow_persistent = On ; 允许或禁止持久连接
ingres.max_persistent = -1 ; 最大持久连接数。-1 代表无限制
ingres.max_links = -1 ; 最大连接数(持久和非持久)。-1 代表无限制
ingres.default_database = ; 默认 database (format : [node_id::]dbname[/srv_class]
ingres.default_user = ; 默认 user
ingres.default_password = ; 默认 password
[Verisign Payflow Pro]
pfpro.defaulthost = "test-payflow.verisign.com" ; 默认的 Signio 服务器; Default Payflow Pro server.
pfpro.defaultport = 443 ; 连接的默认端口; Default port to connect to.
pfpro.defaulttimeout = 30 ; 按秒计的默认超时时间; Default timeout in seconds.
;pfpro.proxyaddress = ; 默认的代理的 IP 地址(如果需要); Default proxy IP address (if required).
;pfpro.proxyport = ; 默认的代理的端口; Default proxy port.
;pfpro.proxylogon = ; 默认的代理的登录用户名; Default proxy logon.
;pfpro.proxypassword = ; 默认的代理的密码; Default proxy password.
[com]
;com.typelib_file = ; 包含GUID文件的路径, IID或包含类型库的文件
;com.allow_dcom = true ; 允许分布式COM调用
;com.autoregister_typelib = true ; com_load()函数自动注册类型库组件常数
;com.autoregister_casesensitive = false ; 自动注册类型库组件常数时大小写敏感
;com.autoregister_verbose = true ; 对重复注册的常量显示警告
[mbstring]
;mbstring.language = Japanese
; 用于内部字符表示的语言
;mbstring.internal_encoding = EUC-JP
; internal/script编码。
; 注意:有些编码不能用于此(比如:SJIS, BIG5, ISO-2022-*)
;mbstring.http_input = auto
; http输入编码
;mbstring.http_output = SJIS
; http输出编码。必须将output_handler设置为"mb_output_handler"函数才可以。
;mbstring.encoding_translation = Off
; 允许依照mbstring.internal_encoding设置进行自动编码转换
; 打开这个特性会让输入的字符会转化为内部编码
; 注意: 千万不要将自动编码转换使用于可移植的库或者程序
;mbstring.detect_order = auto
; 编码自动检测指令
;mbstring.substitute_character =
; 当一种字符不能被转换为另一种字符的时候,这里的值就是替代字符。
;mbstring.func_overload = 0
; 用多字节字符串函数替换单字节字符串函数。
; mail(), ereg()...将被替换为mb_send_mail(), mb_ereg()...
; 可用0,1,2,4来组合。比如7表示替换所有。
; 0: 无替换
; 1: 替换mail()
; 2: 替换str*()
; 4: 替换ereg*()
[FrontBase]
;fbsql.allow_persistent = On
;fbsql.autocommit = On
;fbsql.default_database =
;fbsql.default_database_password =
;fbsql.default_host =
;fbsql.default_password =
;fbsql.default_user = "_SYSTEM"
;fbsql.generate_warnings = Off
;fbsql.max_connections = 128
;fbsql.max_links = 128
;fbsql.max_persistent = -1
;fbsql.max_results = 128
;fbsql.batchSize = 1000
[exif]
; Exif UNICODE用户注释将被处理为UCS-2BE/UCS-2LE ,JIS保持不变。
; 在多字节字符串的支持下 this 将被自动的转换为设定的编码。
; 若将mbstring.internal_encoding设为空,根据解码设置,
; 就可以区别motorola和intel的字节指令(解码设置不能为空)
;exif.encode_unicode = ISO-8859-15
;exif.decode_unicode_motorola = UCS-2BE
;exif.decode_unicode_intel = UCS-2LE
;exif.encode_jis =
;exif.decode_jis_motorola = JIS
;exif.decode_jis_intel = JIS
[Tidy]
;tidy.default_config = /usr/local/lib/php/default.tcfg
; 默认tidy配置文件路径。
tidy.clean_output = Off
; 是否允许tidy自动清理和修正输出。
; 警告: 如果脚本可能会输出非html文档(比如动态图片),请不要打开此特性。
[soap]
soap.wsdl_cache_enabled=1
; 打开或者关闭WSDL缓冲特性
soap.wsdl_cache_dir="/tmp"
; SOAP扩展存放chche文件的目录。
soap.wsdl_cache_ttl=86400
; cache文件使用期限(秒)。过期后将使用新文件。
; 局部变量:
; tab宽度: 4
; End: