一、系统参数调优

[[email protected]:/#]vi /etc/sysctl.d/99-sysctl.conf

##added by zhoutao on 2011/10/17 
net.ipv4.tcp_max_syn_backlog = 10240 net.ipv4.tcp_max_tw_buckets = 400000  
net.ipv4.tcp_max_orphans = 60000  
net.ipv4.tcp_synack_retries = 3  
net.ipv4.tcp_fin_timeout = 3  
net.core.rmem_max = 16777216  
net.core.wmem_max = 16777216  
net.core.rmem_default = 1048576  
net.core.wmem_default = 1048576  
net.core.somaxconn = 16384  
net.ipv4.tcp_rmem = 4096 87380 16777216  
net.ipv4.tcp_wmem = 4096 65536 16777216  
net.core.netdev_max_backlog = 3000  
net.ipv4.tcp_congestion_control = cubic  
net.ipv4.ip_local_port_range = 1024 65535  
net.ipv4.tcp_tw_reuse = 1  
net.ipv4.neigh.default.unres_qlen = 6  
net.ipv4.neigh.default.proxy_qlen = 96  
net.ipv4.ip_nonlocal_bind = 1  
net.ipv4.tcp_keepalive_time = 60  
net.ipv4.tcp_keepalive_probes = 3  
net.ipv4.tcp_keepalive_intvl = 10  
fs.file-max = 360000  
net.ipv4.conf.all.log_martians=1  
net.nf_conntrack_max = 25000000  
net.netfilter.nf_conntrack_max = 25000000  
net.netfilter.nf_conntrack_tcp_timeout_established = 180  
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 1  
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60  
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120  

继续阅读

虽然我们在VPS上搭建网站比网站比较自由,但是空间的安全设置都需要我们自己来做。一旦网站空间或者网页的不安全,可能会通过提权的方式影响其他的网站。当然,具体的安全老左不是太懂。主要是今天上午在遇到一个问题,由于转移出来的网站文件都是777权限,然后搬迁至主机中导致403错误提示,这是需要我们对所有的文件夹设置755,所有的网页文件设置644才可以解决。

很多人会发现,如果手工设置会非常的麻烦,因为每个文件夹下会有文件夹,也有文件。有没有一个命令可以直接设置呢?

SSH命令方法1

find . -exec sh -c "if [[ -d "{}" ]]; then chmod 755 "{}"; else chmod 644 "{}"; fi " \;

SSH命令方法2

find ./ -type d -print|xargs chmod 755;
find ./ -type f -print |xargs chmod 644;

通过以上的任意一个方法,都可以解决设置文件夹755,网页文件644权限。

当需要收听高清的香港电台,或者,收看斯洛文尼亚的电视台,怎么办?哈哈。用octoshape啊。目前支持的节目如下:

安装非常方便,点击这里下载,然后运行安装,安装完后在开始菜单会添加一个程序组。之后,运行程序就可以了,会在系统栏出现一个图标。假如,现在想要收听香港电台普通话台,打开 http://www.rthk.org.hk 后,点击直播,听HD格式的节目即可。

也可以双击系统栏图标,会打开一个WEB页面,里面是所有的节目,点击一个之后根据提示操作,既可收听收看节目。

Linux系统下面:

最好安装Smplayer,openjava 6或者Sun-java。

sudo apt-get install smplayer openjdk-6-jdk

继续阅读

一.ARP协议简介

当主机上的需要发送一个数据到一个目的IP时,设备驱动程序并不能理解这个IP地址. 系统需要将IP地址转换为网络地址,再传递给设备驱动程序发送出去. ARP(地址解析协议)就是这样的一种网络协议.用于将高层协议地址(IP地址)转换为物理网络地址.linux内核中保存有一个ARP表,里面保存有IP地址和MAC地址的对应关系.使用arp命令可以查看主机的ARP表.

# arp -a  
 m1 (192.168.0.1) at 00:E0:4C:FF:D7:31 [ether] on eth0

二.ARP协议相关工具

1.arptables

a) arptables简介

arptables是用户空间工具,用来管理 linux内核中的ARP规则表.这些规则用来检查ARP帧.arptables类似于iptables,但没有那么复杂.iptables工作于ip层,用于对ip包进行管理.arptables工作与arp协议层,用于对arp数据帧进行管理.arptables可以像iptables那样对arp数据帧进行各种规则设置,可以ACCEPT,DROP等.

b) arptables的安装

CentOS下安装方法:

yum install arptables_jf.i386  

Ubuntu下安装方法:

sudo apt-get install arptables  

c) arptables命令的语法

 arptables [-t table] -[AD] chain rule-specification [options]  
 arptables [-t table] -[RI] chain rulenum rule-specification [options]  
 arptables [-t table] -D chain rulenum [options]  
 arptables [-t table] -[LFZ] [chain] [options]  
 arptables [-t table] -[NX] chain  
 arptables [-t table] -E old-chain-name new-chain-name  
 arptables [-t table] -P chain target [options]

链(chain)
kernel表是用来区分不同设置的不同功能.规则的每个设置叫做一个”链”.每个链是有一个排序了的规则列表,用来于ARP帧相匹配.如果一个规则与一个ARP帧相匹配,一个”操作说明”会提供需要进行哪些操作.操作说明叫做”目标”.然而,如果帧与当前链中的当前规则不匹配,则继续与链中的下一条规则进行检查.用户可以建立一个新的链,作为规则的”目标”来使用.

目标(target)
包含有一个ARP帧与一个帧处理说明的防火墙规则说明叫做一个”目标”.当一个帧与一个规则相匹配时,则kernel按”目标”的定义进行下一步操作.“目标”可以是:ACCEPT,DROP.CONTINUE,RETURN,扩展定义或用户指定规则. ACCEPT表示允许这个帧通过.DROP表示这个帧将被丢弃.CONTINUE表示继续进行下一条规则.这样可以很方便的计算,有多少帧经过了某个规则.RETURN表示不在这个链中继续进行匹配,返回到上一条链的下一条规则.

表(table)
在kernel中只有一个ARP表.这个表是一个过滤器.你可以在arptables命令中使用-t filter参数.使用时,-t参数必须是arptables命令的第一个参数. -t,–table是一个过滤器,在kernel中仅有这一个表,它包含2个(2.4.x内核)或3个(2.6.x内核)内建规则:INPUT(发送帧的源主机),OUTPUT(本地产生的帧),FORWARD(由桥代码转发的帧).2.4.X内核中没有FORWARD规则.

arptables命令参数
命令行参数分为几个部分:命令部分,杂项部分,规则说明,匹配扩展,监视器扩展.
命令(command)

arptables命令参数用于指定在使用-t参数定义的表中的执行动作.如果你没有使用-t参数指定一个表名,则命令将应用于默认的过滤表.使用-Z命令时,命令行每次只能  使用一个命令.  
-A,–append 在指定的链结尾添加一个规则.  
-D,–delete 从指定的链中删除规则.这个命令有2种用法:  
1.指定要删除规则的序号,语法是: start_nr[:end_nr],可以使用负数.  
2.指定要删除规则的详细内容.  
-I,–insert 按序号,在指定的链中插入规则.如当前的序号为N,则可以使用-N到N+1作为插入序号.序号0表示表示在最后一条规则后插入新规则,等同于-A参数.
-R,–replace 替换链中指定的规则.如果当前的序号是N,则指定的序号可以是1到N之间的数字.  
-P,–policy 在链中设置指定目标的策略,可以为:ACCEPT,DROP或RETURN.  
-F,–flush 清空指定的链.如果没有指定链,则所有的链都将被清空.清空链不会改变链的策略.  
-Z,–zero 将指定链的计数器置0.如果没有指定链,则所有计数器都将置0.-Z命令可以与-L命令结合使用.当同时使用-Z,-L命令时,计数器的值会先被打印出来,然后置0.  
-L,–list 输出指定链中的规则.如果没有指定链,所有将输出所有链中的规则.  
-N,–new-chain 建立新的用户链.用户链的数量没有限制,但用户链的名称最多可以有31个字符.  
-X,–delete-chain 删除指定的用户链.用户链中必须为空.如果没有指定用户链,则所有为空的用户链将被删除.  
-E,–rename-chain 重命名指定链.你可以重命名一个用户链,也可以重命名一个标准链名.  
-V,–version 显示arptables程序的版本号.  
-h,–help 输出语法帮助信息.  
-j,–jump 目标  规则的目标.可以是:ACCEPT,DROP,CONTINUE,RETURN,目标扩展或用户定义链名.  
-s,–source-ip [!] IP地址[/掩码]  源IP地址  
-d,–destination-ip [!] IP地址[/掩码] 目的IP地址  
–source-mac [!] MAC地址[/掩码] 源MAC地址  
–destination-mac [!] MAC地址[/掩码]  目的MAC地址.  
-i,–in-interface [!] 设备名 用于接收帧的接口(应用于INPUT,FORWARD链).–in-if是这个选项的别名.  
-o,–out-interface [!] 设备名 用于发送帧的接口(应用于OUTPUT,FORWARD链).–out-if是这个选项的别名.  
-l,–h-length 长度[/掩码] 硬件长度(单位字节).  
–opcode 代码[/掩码] 操作码(2字节).可以使用:1=请求,2=回复,3=反解析请求,4=反解析回复, 5=动态反解析请求,6=动态反解析回复,7=动态反解析错误,8=逆向ARP请求, 9=ARP_NAK  
–h-type 类型[/掩码] 硬件类型(2字节,十六进制).可以使用:1=Ethernet.  
–proto-type 类型[/mask] 协议类型(2字节).可以使用:0×800=IPv4

d) arptables使用实例

# arp -a  
 m1 (192.168.0.1) at 00:E0:4C:FF:D7:31 [ether] on eth0  

显示当前ARP表信息
当前ARP表中保存有一个主机的arp信息,m1主机,ip地址192.168.0.1

# arptables -D INPUT -s 192.168.0.1 -j DROP  

设置arp规则,将所有192.168.0.1的arp包全部丢弃.

# arp -d 192.168.0.1 -i eth0  

使用arp命令,删除arp表中的192.168.0.1的记录.

# arp -a  
 m1 (192.168.0.1) at on eth0  

arp表中已没有m1主机的信息.

# ping 192.168.0.1  
 PING m1 (192.168.0.1) 56(84) bytes of data.  
 From m2 (192.168.0.2) icmp_seq=2 Destination Host Unreachable  
 From m2 (192.168.0.2) icmp_seq=3 Destination Host Unreachable  
 From m2 (192.168.0.2) icmp_seq=4 Destination Host Unreachable  

由于无法获得m1主机MAC信息,所以,无法与m1主机进行通信.

# arptables -D INPUT -s 192.168.0.1 -j DROP  

删除arptables规则.

# arp -a  
m1 (192.168.0.1) at 00:E0:4C:FF:D7:31 [ether] on eth0  

arp表中重新记录了m1的MAC信息.

# ping 192.168.0.1  
PING m1 (192.168.0.1) 56(84) bytes of data.  
64 bytes from m1 (192.168.0.1): icmp_seq=1 ttl=64 time=0.315 ms  

一般情况下,我们可以做如下的规则定义:

 arptables -F  
 arptables -A IN –src-mac ! 网关MAC -j DROP  
 arptables -A IN -s ! 网关IP -j DROP

查询arptables状态

 arptables -L

2.arpwatch

a) arpwatch简介

arpwatch用来监听网络中的ARP数据包并进行记录,同时将监听到的变化通过E-mail来报告给系统管理员. arpwatch使用pcap(3)来监听本地以太接口的arp数据包.

b) arpwatch的安装

CentOS下安装方法:

yum install arpwatch.i386  

Ubuntu下安装方法:

sudo apt-get install arpwatch  

c)arpwath命令的语法

 arpwatch [ -dN ]  
 [ -f datafile ]  
 [ -i interface ]  
 [ -n net[/width ]]  
 [ -r file ]  
 [ -s sendmail_path ]  
 [ -p ]  
 [ -a ]  
 [ -m addr ]  
 [ -u username ]  
 [ -R seconds ]  
 [ -Q ]  
 [ -z ignorenet/ignoremask ]  
 -d 标记用来启用调试模式.  
 -f 标记用来设置使用的数据库名,默认是arp.dat.  
 -i 用来指定网络接口.  
 -n 用于说明本地网络.  
 -r 指定读取一个由tcpdump或pcapture生成信息文件,而不从网络接口中  
 读取.\\-s 用于指定sendmail程序的路径.  
 -p 指定禁用”混合模式”.网络接口不是”混合模式”时,ARP广播也可以通过.  
 -a 默认情况下,arpwatch仅记录默认网络接口上,第一个IP地址子网的arp  
 信息.使用-a参数,则记录网络接口上所有IP地址子网的arp信息.  
 -m 指定一个用于接收变更信息的邮件地址.  

d)arpwatch使用实例

# arpwatch -i eth0 -s [email protected]  

监听eth0接口,并将arp的变更信息,发送到本地的root用户邮箱中.

3.手动arp绑定的方式。

如果服务器作为内网网关使用,可以在内网网卡界面

ifconfig eth1 -arp  

关闭ARP响应(假设eth1是内网网卡)

arp -f /etc/arp.list #设置静态ARP表  

以下是ARP(8) 关于arp.list格式的描述,

Cause the file filename to be read and multiple entries to be set in the ARP tables. Entries in the file should be of the form hostname ether_addr [temp] [pub] with argument meanings as given above. Leading whitespace and empty lines are ignored. A `#’ character will mark the rest of the line as a comment.

Do you know that you can create your own socks5 proxy with just one command:

ssh -f -N -D 5050 "USERNAME"@SSHserver.com  

-f -N option is just to run ssh in background, the important option is -D.

from FreeBSD SSH(1) man:

-D [bind_address:]port

Specifies a local “dynamic” application-level port forwarding. This works by allocating a socket to listen to port on the local side.

For windows users they can do it with putty

C:\>putty.exe -ssh "USERNAME"@SSHserver.com -pw "PASSWORD" -P 22 -D 5050  

what we did is that we connect to a ssh server (could by your remote linux or unix server, or a free shell account you have) and give it option to create a tunnel with port forwarding for port 5050

if you set your browser to use socks5 proxy with the address 127.0.0.1 and port 5050, the traffic will be forwarded to the tunnel and you will browse the internet through the remote ssh server.

to disable port forwarding in your server, edit /etc/ssh/sshd_config and set “AllowTcpForwarding yes” to “no”

以前听人说在Linux上能够查到一个很奇怪的月份,只是当时忘了那个特别的月份。今天在网上搜了一下,发现通过这个命令(月份)了解了一段人类文明历史。

cal 9 1752  

九月 1752
一 二 三 四 五 六 日
1 2 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

我们发现1752年9月2日的后面竟然是14日,确实很奇怪,通过在网上搜索,找到了答案:

1582年2月,罗马教廷需要从1582 年10月中减去10天,因此1852年10月4日后面紧跟着就是15日。在意大利、西班牙等国家都这样处理了。其他天主教国家也很快跟着这么做了,但是新教国家不愿意修改,而且希腊等东正教国家直到20世纪初才修改,所以这个改革在英国及其殖民地(包括美国)在1752年9月才被执行。这样1752年9月2日后面跟着的就是1752年9月14日。这就是为什么cal会生成上面输出的原因了。

Windows用户是没福气查到这个特别月份了,因为Windows的纪年范围只是1980-2099。呵呵。

1752年-九月迷题

1752年9月为什么少了11天?还是通过计算某天相对于元年元月1日(1/1/1)的天数,然后再计算星期,可是算来算去就是不准,突然发现1752年9月少了11天!! 我们知道,地球环绕太阳转动的周期是365.2422天,而早先人们所使用的儒略历中,因为每4年加进了1个闰日,即2月29日,所以平均下来,每一个儒略年为365.25天。可千万不要小看了这0.0078天(约11分14秒)的差别。一两年还无所谓,甚至十年二十年也过得去,可是几百年积累下来就非同小可了。

1752年-难解的题

事实上,在13世纪时,儒略年比实际的天象已经超出了8天,春分日竟然变成了3月13日,而天文学上规定应当是3月21日。当时杰出的思想家、科学家、哲学家罗吉尔·培根,特意于1263年致信罗马教皇乌尔班四世,敦促他们研究解决这个大问题(当时的制历权在教会)。可谁也没有想到,这个看似简单的问题却难倒了教廷,一直拖了三百多年,致使误差进一步扩大到10天。直到1582年,格里果里十三世教皇才同意了一位业余天文学家的方案,颁发了改儒略历为格里历的法令,其实,改变的实质主要有二:即在当年扣除多余的10天,具体说来说是把1582年10月4日(星期四)后面的那一天,作为10月15日星期五(本应是10月5日星期五);今后凡不能被400整除的世纪年,如1700年、1800年、1900年等不再作闰年,只有如1600年、2000年等那样可以被400除尽的年份才仍用闰年。这实际意味着在每400年中加了397个闰日,比原先少了整整3天,也说是说,在新的格里历中,一年长度平均是365.2425天,这与实际年长只差25.9秒,足可保证在二三千年内不出差错。

现行的公历是格利戈里历法,这个历法的是1582年教皇格利戈里根据恺撒大帝引进的算法改进的。它采用的是闰年制也就是现行的制度,不过有一个需要注意的地方就是,这个历法并不是连续的,中间缺少了11天。1752年9月2日之后的那一天并不是1752年9月3日,而是1752年9月14日。也就是说,从1752年9月3日到1752年9月13日的11天并不存在。抹掉这11天是由英国议会做出的决定。所以要计算某年每个月的天数的,除了要考虑是否是闰年以外,还要考虑1752年的9月。

概述

假设要以用户 rainux 的身份登录运行 OpenSSH Server 的远程主机 www.rainux.org(现在几乎所有的 Linux 服务器都使用 OpenSSH Server 作为 SSH Server),那么需要做的操作如下:

1.生成用于 SSH 身份认证的密钥。密钥由公钥和私钥组成,一个公钥只对应一个私钥,一个私钥也只对应一个公钥。

2.将 OpenSSH 格式的公钥文本追加到远程主机上的 ~/.ssh/authorized_keys 文件里(~ 意为用户 rainux 的 HOME 目录)。注意公钥文本中应该没有换行符,一行就是一个公钥。

3.确保 ~/.ssh/authorized_keys 权限为 600,~/.ssh 目录权限为 700,并且它们的所有者都是 rainux。

4.指定 SSH 客户端使用对应的私钥并以用户 rainux 的身份登录 www.rainux.org,此时无需输入 rainux 在 www.rainux.org 上的密码。

注意:如果私钥是以加密形式存储的(强烈建议使用一个强壮的密码加密私钥,这样即使私钥文件被窃取,也无法被直接使用),第四步仍然需要输入加密私钥所用的密码。但是 PuTTY 和 OpenSSH 都有提供一个代理程序用于避免多次重复输入密码。运行代理程序后将私钥添加到其中,并且输入一次加密私钥所用的密码,然后保持代理程序的运行,以后 SSH 客户端即可在需要使用私钥进行身份认证的场合请求代理程序去完成身份认证(这是为了确保私钥不会被泄漏到任何使用代理程序的客户端上),无须再次输入任何密码。

Linux / Cygwin / MSYS 上使用 OpenSSH Client

生成密钥

执行 ssh-keygen 接受默认文件名,并且输入加密私钥用的密码(passphrase)即可生成私钥~/.ssh/id_rsa 和对应的公钥~/.ssh/id_rsa.pub。其中id_rsa.pub的内容可以直接追加到远程主机的 authorized_keys文件里。

使用私钥

把公钥部署到远程主机上后,即可直接执行ssh [email protected]来登录远程主机。但如果私钥是加密形式保存,如上所述应该使用代理程序ssh-agent来避免每次输入密码。

直接执行ssh-add命令可以添加刚才生成的私钥到ssh-agent里,也可以用ssh-add -l查看已经添加的私钥。如果执行ssh-add时提示无法连接身份认证代理,则需要使用以下命令来启动ssh-agent

eval `ssh-agent`  
eval `ssh-agent`  

使用eval是为了执行ssh-agent输出的设置环境变量的bash命令,以确保ssh-add可以通过SSH_AUTH_SOCK环境变量找到 ssh-agent。

GNOME 的桌面系统如果有安装 gnome-keyring,它会自动管理 ssh-agent,通常甚至无须手工添加私钥到 ssh-agent 里,第一次使用公钥时 gnome-keyring 就会提示输入一次密码,以后则不再需要。

Windows 上使用 PuTTY

生成密钥

到 PuTTY 的下载页面下载 putty-0.60-installer.exe 或者 putty.zip,两者都包含 PuTTY 所有的组件。

安装好 PuTTY 之后(对于 zip 版本来说,解压到任意目录即可)运行 PuTTYGen 生成自己的密钥。选择密钥类型为 SSH-2 RSA,点击 Generate,按照提示在 PuTTYGen 窗口内随机移动鼠标直到进度条达到 100%,然后 PuTYYGen 会生成密钥并且显示其公钥部分信息。这里可以填写一个有意义的注释,然后输入一个用来加密私钥的强壮的密码(Key passphrase)。最后点击 Save private key 将私钥保存为一个 .ppk 文件。不需要单独 Save public key,因为 .ppk 文件里已经包含了公钥。并且通过 Save public key 保存出来的公钥文件格式与 OpenSSH 的格式并不相同,若要将公钥部署到使用 OpenSSH Server 的服务器上,只能使用 PuTTYGen 窗口上显示的那一段 Public key for pasting into OpenSSH authorized_keys file。

使用私钥

将公钥部署到远程主机上之后,使用 PuTTY 登录该远程主机时可以在 Connection > SSH > Auth 里选择用于身份认证的私钥文件。同样,如果私钥是加密形式保存,应该使用代理程序 Pageant 以避免每次输入密码。

最简单的办法是创建一个 Pageant 的快捷方式,并且将 .ppk 私钥文件作为参数加到快捷方式的“目标”栏里,添加之后看上去应该像这样:

 C:\PuTTY\pageant.exe D:\main.ppk "D:\My Secrets\secondary.ppk"  
 C:\PuTTY\pageant.exe D:\main.ppk "D:\My Secrets\secondary.ppk"

就像上面的例子一样,如果私钥文件路径中带有空格,应该使用引号将其括起来。通过这个快捷方式启动 Pageant 则会自动装载指定的私钥文件,并且立即询问用于加密私钥的密码。以后只要保持 Pageant 的运行,并且在 PuTTY 的某个 Saved session 里设置 Connnection > Data 里设置 Auto-login username,即可实现双击该 session 则完全自动登录。

最近又遇到 /etc/resolv.conf 会定时被改写掉的问题了,这回是在FreeBSD中!

在 LAN via NAT 或是 PPPoE 的环境中上Internet,我们总得在 resolv.conf 中指定 DNS server,而这里的 DNS server 是通过 DHCP server 自动获取的,如果不能正确获得则需要手动把 ISP 给出的 DNS server 加入。可有时候一些“聪明”的程序总是会跳出来搞些小动作,把我们自己写入的设定换掉,而且还是轮询的,你再改,没有过几分钟就又被改掉。

之前遇到过的情况有(DNS server 抓不对,且会被改写!):

  1. Ubuntu 6.10 (Edgy) 通过 ppp 拨号时,只抓到 ADSL Modem DHCP server IP.
  2. Ubuntu 7.04 (Feisty) 那个可恶的network-manager程序会定时抓 ADSL Modem DHCP server IP.
  3. VMWare 中的 Guest OS 以 NAT 网络 获取IP的时候,只抓到NAT DHCP server IP.

于是有很多人都跳出来问一个问题:“如何避免 resolv.conf 被修改、改写和覆写等等?“

然而对于*NIX 这样灵活的系统,解法也有很多,我们一一看来,哪个粗糙,哪个优雅!

解法一:修改/sbin/dhclient-script,注释掉对resolv.conf进行操作的地方.

Linux :
make_resolv_conf这个函数的调用都给注释掉!

FreeBSD:
把 > resolv.conf 所在的行都给注释掉!

解法二:强制修改 resolv.conf 的文件flag,设定为不可被更改.

Linux:

chattr +i /etc/resolv.conf  

FreeBSD:

chflags schg /etc/resolv.conf  

解法三:变更DHCP Client的配置文件,在特定的环节追加我们的设定.

Linux (Ubuntu Dist.):
/etc/dhcp3/dhclient.conf中增加如下设定:

prepend domain-name-servers <ip1>, <ip2>;  

FreeBSD:
/etc/dhclient.conf中增加如下设定:

prepend domain-name-servers <ip1>, <ip2>;  

就我自己看来:解法一属于粗糙,解法二属于暴力,解法三才是好办法!

解法三不会变更系统框架,还是原来执行流程。我们只是在默认的prepend环节,多增加prepend的内容,让DHCP Client 在得到DNS server信息后,把我们所需要的配置追加在前面。

KMess 是一个 Linux 平台下 Windows Live Messenger­的替代软件。软件集成于 KDE­桌面环境,并且拥有易用的用户界面。前不久,KMess­团队发布了第一个适用于 KDE 4.0 的移植版本 KMess­2.0。相比于 Kopete 或者 Pidgin,KMess 专注于 MSN­即时通讯协议,如果仅仅使用­MSN,那么非常值得一试。

图片­

相比之前的 1.5.2 版本,2.0­版本更新了众多内容,具体请参阅 KMess­官方网站上面的一篇 An introduction to 2.0。­

看支付宝的官方博客上发布了支付宝针对 Linux 下 Firefox 的安全控件的消息便第一时间在 OwnLinux 上发布了相关的消息,然后就开始试用支付宝为我们 Linux 用户带来的这一礼物,同时和大家一起分享。先说一下我体验支付宝针对 Linux 下 Firefox 的安全控件的环境: Ubuntu 8.10 Intrepid Ibex (RC) ,FireFox 3.0.2。 在以前没有这个支付宝针对 Linux 下 Firefox 的安全控件的时候访问支付宝在登录框中不能输入密码进行登陆,点击“请点些输入密码”就会弹出一个对话框提示你下载 Firefox 的安全控件。不过,那个是针对 Window 下 Firefox 使用的,如果以后能够自动区分不同的系统并提供相应的软件下载就更好了。

安装支付宝针对 Linux 下 Firefox 的安全控件

下载: 支付宝安全控件 for Linux 平台 的 Firefox ( MD5:02240053d32688ed996e3a4788042801 )
使用方法:下载上述链接的文件,解压缩成两个文件:

$ tar -zxvf aliedit.tar.gz

推荐校验 MD5 值:

$ md5sum aliedit.t

ar.gz

02240053d32688ed996e3a4788042801 aliedit.tar.gz

并将这两个文件复制到 ~/.mozilla/plugins 目录:

$ cp aliedit.so aliedit.xpt ~/.mozilla/plugins

在终端中提示你没有 “~/.mozilla/plugins” 这个目录,你新建一个就可以了。

mkdir ~/.mozilla/plugins

cp aliedit.so aliedit.xpt ~/.mozilla/plugins

重新启动 Firefox 即可。

整个安装过程还是很简单的。

安全提示:下载前请做一下 MD5 校验。同时在官方站点发布正式的针对 Linux 下 Firefox 的安全控件之前,不要相信任何来自其他网站的安全控件。

以下是我在 Ubuntu Linux 中安装支付宝针对 Linux 下 Firefox 的安全控件完成后的一些截图: