Archive for 2009年6月9日


linux应急处理

1.使用急救盘组进行维护

急救盘组(也称为boot/root盘组),是系统管理员必不可少的工具。用它可以独立地启动和运行一个完整的Linux系统。实际上,急救盘组中的第2张盘上就有一个完整的Linux系统,包括root文件系统;而第1张盘则存放了可启动的内核。

使用急救盘组维护系统很简单。只需用这两张盘启动系统后,进入急救模式,这时使用的是root账户。为了能访问硬盘上的文件,需要手工安装硬盘文件系统。例如,用下面的命令可在/mnt目录中安装/dev/hda2盘上的ext2fs类型的Linux文件系统:

# monut -t ext2 /dev/hda2 /mnt

注:现在根目录是急救盘上的根目录。为了访问硬盘文件系统中的文件,必须先把它安装到某个目录下。这样,如果将硬盘上文件系统安装在/mmt目录下,则硬盘上原来的/etc/passwd文件的路径就是/mnt/etc/passwd。

2.文件系统被破坏时的处理方法

当文件系统被破坏时,如果使用的是ext2fs类型的文件系统,就可从软盘运e2fsck命令来修正文件系统中被损坏的数据。对于其他类型的文件系统,可以使用相应的fsck命令。 当从软盘上检查文件系统时,最好不要mount安装。

注:文件系统被破坏的常见原因是超级块被损坏,超级块是文件系统的“头部”。它包含文件系统的状态、尺寸和空闲磁盘块等信息。如果损坏了一个文件系统的超级块(例如不小心直接将数据写到了文件系统的超级块分区中),那么系统可能会完全不识别该文件系统,这样也就不能安装它了,即使采用e2fsck 命令也不能处理这个问题。

不过,ext2fs类型的文件系统将超级块的内容进行了备份,并存放于驱动程序的块组(block group)边界。可以用如下的命令通知e2fsck使用超级块的备份

# e2fsck -b 8193

是指文件系统所在的分区,-b 8193选项用于显示使用存放在文件系统中的8193块的超级块的备份数据

3.恢复丢失的文件

如果不小心删除了重要的文件,那么没有办法直接恢复。但是还可以将相应的文件从急救盘复制到硬盘上。例如,如果删除了文件/bin/login,此时系统无法正常进到登录界面,可以用急救盘组启动系统,将硬盘文件系统安装到/mnt目录下,然后使用下述命令:

#cp -a /bin/login /mnt/bin

“-a”选项用于告诉cp在拷贝时保持文件的访问权限。
当然如果被删除的基本文件不在“急救盘组”中,也就不能用这种方法了。如果以前做过系统备份的话,那么也可以用以前的备份来恢复。

4.函数库破坏时的处理方法

如果不小心将系统函数库文件破坏了,或者破坏了/lib目录下符号链接,那么将导致依赖这些库的命令无法执行。最简单的解决办法是用急救盘组启动系统,在/mnt目录中安装硬盘文件系统,然后修复/mnt/lib目录下的库。

5.无法用root账号登录系统

由于系统管理员的疏忽,或者由于系统受到黑客的入侵,系统管理员可能无法用root帐号登录系统。

对于第1种情况,可能是系统管理员忘记了root密码,用急救盘组就可以解决问题。

对于第2种情况,由于很可能是密码被黑客修改了,因此系统管理员无法进入系统,也就是说,Linux系统完全失去了控制,因此应尽快重新获得系统的控制权。在取得 root权限后,还应检查系统被破坏的情况,以防被黑客再次入侵。

需要做的最主要的工作就是重新设置root的密码,获得Linux操作系统的控制权。首先用急救盘组启动系统,然后将硬盘的文件系统安装到/mnt目录下,编辑/mnt/etc/passwd文件,将其对应于root账户的一行加密口令域置空,如下所示:

root::0:0:root:/root:bin/bash

注:如果系统使用 shadow工具,就需要对文件/etc/shadow进行上述的操作,使root登录系统不需要口令。

这样,root账户就没有口令了。当重新从硬盘启动Linux系统时,就可以用root账户登录(系统不会要求输入密码)。进入系统后,再用命令passwd设置新的口令。

6.Linux系统不能启动

一般来说,如果系统管理员不能正常进入系统,就需要考虑使用急救盘组进入急救模式排除系统的故障。但在没有制作急救盘组的情况下,Linux系统不能启动,该怎么办?

在个人计算机使用 Linux系统时,通常都是Linux和MS Windows 9x或MS Windows NT并存的。由于重新安装其他的操作系统,经常会导致原有的Linux不能启动。这主要是因为,这些操作系统默认为计算机中没有其他的操作系统,因而改写了硬盘的主引导记录(MBR),冲掉了Linux的LILO系统引导程序。

如果有急救盘组,那么很简单,用第一张启动盘启动硬盘的Linux系统,重新运行LILO命令,就可以将LILO系统引导程序写回硬盘的主引导记录。再次开机即可。

如果没有系统启动盘,怎样恢复硬盘上的Linux呢?在这种情况下,如果知道Linux在硬盘上的确切安装分区,且有loadlin程序,就可以重新返回Linux。 loadlin程序是DOS下的程序,运行它可以从DOS下直接启动Linux,快速进入Linux环境。在 Red Hat Linux 6.0光盘的 dosutil/目录下就有这个程序。除此之外,还需要一个 Linux启动内核的映像文件。在 Red Hat linux 6.0光盘的 images/目录下有这个文件——vmlinuz。

例如,在Windows 98系统下面,进入DOS的单用户模式,然后运行下述的loadlin命令,即可重新进入Linux系统:

loadlin vmlinuz root=/dev/hda8

/dev/hda8是Linux的root文件系统所在的硬盘分区位置。命令执行后,就引导Linux系统。用root登录后,运行LILO命令,则重新将LILO装入MBR,回到以前多操作系统并存使用的状态。

一、复制网卡安装包到U盘

1、挂接U盘
linux系统把U盘当作SCSI设备对待的,插入U盘之前,应先用fdisk-l或more/proc/partitions查看系统的硬盘和硬盘分区情况。(记住分区情况)

建立一个目录用来作挂接点(mountpoint)
  #mkdir -p /mnt/usb

注:现在可以通过/mnt/usb来访问U盘了,若汉字文件名显示为乱码或不显示,可以使用下面的命令。
  #mount -t vfat -o iocharset=cp936 /dev/sdxx /mnt/usb

二、网卡驱动安装(intel82537举例)

1、复制安装包到一个目录下
  mkdir -p /home/e1000
  cp /mnt/usb /home/e1000

2、解压安装包并切换到安装目录:
  tar-zxf e1000-7.3.15.tar.gz
  cd e1000-7.3.15/src

3、编译源码包:
  make install

4、检查一下编译好的驱动模块:
  /lib/modules/内核版本号/kernel/drivers/net/e1000/e1000.[ko]

5、加载驱动:
  modprobe/lib/modules/内核版本号/kernel/drivers/net/e1000

6、重启电脑:reboot

三、编辑网卡配置文件:

DEVICE=eth0
IPADDR=192.168.x.x
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=static

四、最后重启网络服务:
service network restart

安装完OpenSSH之后,用下面命令测试一下:
ssh -l [your accountname on the remote host] [address of the remote host]
如果OpenSSH工作正常,你会看到下面的提示信息:
The authenticity of host [hostname] can’t be established.
Key fingerprint is 1024 5f:a0:0b:65:d3:82:df:ab:44:62:6d:98:9c:fe:e9:52.
Are you sure you want to continue connecting (yes/no)?
OpenSSH告诉你它不知道这台主机,但是你不用担心这个问题,因为你是第一次登录这台主机。键入"yes"。这将把这台主机的"识别标记"加到"~/.ssh/know_hosts"文件中。第二次访问这台主机的时候就不会再显示这条提示信息了。
然后,SSH提示你输入远程主机上你的帐号的口令。输入完口令之后,就建立了SSH连接,这之后就可以象使用telnet那样使用SSH了。

SSH的密匙

生成你自己的密匙对

生成并分发你自己的密匙有两个好处:
1) 可以防止"中间人"这种攻击方式
2) 可以只用一个口令就登录到所有你想登录的服务器上
用下面的命令可以生成密匙:
ssh-keygen
如果远程主机使用的是SSH 2.x就要用这个命令:
ssh-keygen -d
在同一台主机上同时有SSH1和SSH2的密匙是没有问题的,因为密匙是存成不同的文件的。
ssh-keygen命令运行之后会显示下面的信息:
Generating RSA keys: ……………………….ooooooO……ooooooO
Key generation complete.
Enter file in which to save the key (/home/[user]/.ssh/identity):
[按下ENTER就行了]
Created directory ‘/home/[user]/.ssh’.
Enter passphrase (empty for no passphrase):
[输入的口令不会显示在屏幕上]
Enter same passphrase again:
[重新输入一遍口令,如果忘记了口令就只能重新生成一次密匙了]
Your identification has been saved in /home/[user]/.ssh/identity.
[这是你的私人密匙]
Your public key has been saved in /home/[user]/.ssh/identity.pub.
The key fingerprint is: 2a:dc:71:2f:27:84:a2:e4:a1:1e:a9:63:e2:fa:a5:89 [user]@[local machine]
"ssh-keygen -d"做的是几乎同样的事,但是把一对密匙存为(默认情况下)"/home/[user]/.ssh/id_dsa"(私人密匙)和"/home/[user]/.ssh/id_dsa.pub"(公用密匙)。
现在你有一对密匙了:公用密匙要分发到所有你想用ssh登录的远程主机上去;私人密匙要好好地保管防止别人知道你的私人密匙。用"ls -l ~/.ssh/identity"或"ls -l ~/.ssh/id_dsa"所显示的文件的访问权限必须是"-rw——-"。
如果你怀疑自己的密匙已经被别人知道了,不要迟疑马上生成一对新的密匙。当然,你还要重新分发一次公用密匙。

分发公用密匙

在每一个你需要用SSH连接的远程服务器上,你要在自己的家目录下创建一个".ssh"的子目录,把你的公用密匙"identity.pub" 拷贝到这个目录下并把它重命名为"authorized_keys"。然后执行:
chmod 644 .ssh/authorized_keys
这一步是必不可少的。如果除了你之外别人对"authorized_keys"文件也有写的权限,SSH就不会工作。
如果你想从不同的计算机登录到远程主机,"authorized_keys"文件也可以有多个公用密匙。在这种情况下,必须在新的计算机上重新生成一对密匙,然后把生成的"identify.pub"文件拷贝并粘贴到远程主机的"authorized_keys"文件里。当然在新的计算机上你必须有一个帐号,而且密匙是用口令保护的。有一点很重要,就是当你取消了这个帐号之后,别忘了把这一对密匙删掉。

配置SSH

配置客户端的软件

OpenSSH 有三种配置方式:命令行参数、用户配置文件和系统级的配置文件("/etc/ssh/ssh_config")。命令行参数优先于配置文件,用户配置文件优先于系统配置文件。所有的命令行的参数都能在配置文件中设置。因为在安装的时候没有默认的用户配置文件,所以要把 "/etc/ssh/ssh_config"拷贝并重新命名为"~/.ssh/config"。
标准的配置文件大概是这样的:
[lots of explanations and possible options listed]
# Be paranoid by default
Host *
ForwardAgent no
ForwardX11 no
FallBackToRsh no
还有很多选项的设置可以用"man ssh"查看"CONFIGURATION FILES"这一章。
配置文件是按顺序读取的。先设置的选项先生效。
假定你在www.foobar.com上有一个名为"bilbo"的帐号。而且你要把"ssh-agent"和"ssh-add"结合起来使用并且使用数据压缩来加快传输速度。因为主机名太长了,你懒得输入这么长的名字,用"fbc"作为"www.foobar.com"的简称。你的配置文件可以是这样的:
Host *fbc
HostName www.foobar.com
User bilbo
ForwardAgent yes
Compression yes
# Be paranoid by default
Host *
ForwardAgent no
ForwardX11 no
FallBackToRsh no
你输入"ssh fbc"之后,SSH会自动地从配置文件中找到主机的全名,用你的用户名登录并且用"ssh-agent"管理的密匙进行安全验证。这样很方便吧!
用SSH连接到其它远程计算机用的还是"paranoid(偏执)"默认设置。如果有些选项没有在配置文件或命令行中设置,那么还是使用默认的"paranoid"设置。
在我们上面举的那个例子中,对于到www.foobar.com的SSH连接:"ForwardAgent"和"Compression"被设置为 "Yes";其它的设置选项(如果没有用命令行参数)"ForwardX11"和"FallBackToRsh"都被设置成"No"。
其它还有一些需要仔细看一看的设置选项是:
l CheckHostIP yes
这个选项用来进行IP地址的检查以防止DNS欺骗。
l CompressionLevel
压缩的级别从"1"(最快)到"9"(压缩率最高)。默认值为"6"。
l ForwardX11 yes
为了在本地运行远程的X程序必须设置这个选项。
l LogLevel DEBUG
当SSH出现问题的时候,这选项就很有用了。默认值为"INFO"。

配置服务端的软件

SSH服务器的配置使用的是"/etc/ssh/sshd_config"配置文件,这些选项的设置在配置文件中已经有了一些说明而且用"man sshd"也可以查看帮助。请注意OpenSSH对于SSH 1.x和2.x没有不同的配置文件。
在默认的设置选项中需要注意的有:
l PermitRootLogin yes
最好把这个选项设置成"PermitRootLogin without-password",这样"root"用户就不能从没有密匙的计算机上登录。把这个选项设置成"no"将禁止"root"用户登录,只能用"su"命令从普通用户转成"root"。
l X11Forwarding no
把这个选项设置成"yes"允许用户运行远程主机上的X程序。就算禁止这个选项也不能提高服务器的安全因为用户可以安装他们自己的转发器(forwarder),请参看"man sshd"。
l PasswordAuthentication yes
把这个选项设置为"no"只允许用户用基于密匙的方式登录。这当然会给那些经常需要从不同主机登录的用户带来麻烦,但是这能够在很大程度上提高系统的安全性。基于口令的登录方式有很大的弱点。
l # Subsystem /usr/local/sbin/sftpd
把最前面的#号去掉并且把路径名设置成"/usr/bin/sftpserv",用户就能使用"sftp"(安全的FTP)了(sftpserv在sftp 软件包中)。因为很多用户对FTP比较熟悉而且"scp"用起来也有一些麻烦,所以"sftp"还是很有用的。而且2.0.7版本以后的图形化的ftp工具"gftp"也支持"sftp"。

拷贝文件

用"scp"拷贝文件

SSH提供了一些命令和shell用来登录远程服务器。在默认情况下它不允许你拷贝文件,但是还是提供了一个"scp"命令。
假定你想把本地计算机当前目录下的一个名为"dumb"的文件拷贝到远程服务器www.foobar.com上你的家目录下。而且你在远程服务器上的帐号名为"bilbo"。可以用这个命令:
scp dumb bilbo@www.foobar.com:.
把文件拷贝回来用这个命令:
scp bilbo@www.foobar.com:dumb .
"scp"调用SSH进行登录,然后拷贝文件,最后调用SSH关闭这个连接。
如果在你的"~/.ssh/config"文件中已经为www.foobar.com做了这样的配置:
Host *fbc
HostName www.foobar.com
User bilbo
ForwardAgent yes
那么你就可以用"fbc"来代替"bilbo@www.foobar.com",命令就简化为"scp dumb fbc:."。
"scp"假定你在远程主机上的家目录为你的工作目录。如果你使用相对目录就要相对于家目录。
用"scp"命令的"-r"参数允许递归地拷贝目录。"scp"也可以在两个不同的远程主机之间拷贝文件。
有时候你可能会试图作这样的事:用SSH登录到www.foobar.com上之后,输入命令"scp [local machine]:dumb ."想用它把本地的"dumb"文件拷贝到你当前登录的远程服务器上。这时候你会看到下面的出错信息:
ssh: secure connection to [local machine] refused
之所以会出现这样的出错信息是因为你运行的是远程的"scp"命令,它试图登录到在你本地计算机上运行的SSH服务程序……所以最好在本地运行"scp"除非你的本地计算机也运行SSH服务程序。

用"sftp"拷贝文件

如果你习惯使用ftp的方式拷贝文件,可以试着用"sftp"。"sftp"建立用SSH加密的安全的FTP连接通道,允许使用标准的ftp命令。还有一个好处就是"sftp"允许你通过"exec"命令运行远程的程序。从2.0.7版以后,图形化的ftp客户软件"gftp"就支持"sftp"。
如果远程的服务器没有安装sftp服务器软件"sftpserv",可以把"sftpserv"的可执行文件拷贝到你的远程的家目录中(或者在远程计算机的 $PATH环境变量中设置的路径)。"sftp"会自动激活这个服务软件,你没有必要在远程服务器上有什么特殊的权限。

用"rsync"拷贝文件

"rsync" 是用来拷贝、更新和移动远程和本地文件的一个有用的工具,很容易就可以用"-e ssh"参数和SSH结合起来使用。"rsync"的一个优点就是,不会拷贝全部的文件,只会拷贝本地目录和远程目录中有区别的文件。而且它还使用很高效的压缩算法,这样拷贝的速度就很快。

用"加密通道"的ftp拷贝文件

如果你坚持要用传统的FTP客户软件。SSH可以为几乎所有的协议提供"安全通道"。FTP是一个有一点奇怪的协议(例如需要两个端口)而且不同的服务程序和服务程序之间、客户程序和客户程序之间还有一些差别。
实现"加密通道"的方法是使用"端口转发"。你可以把一个没有用到的本地端口(通常大于1000)设置成转发到一个远程服务器上,然后只要连接本地计算机上的这个端口就行了。有一点复杂是吗?
其实一个基本的想法就是,转发一个端口,让SSH在后台运行,用下面的命令:
ssh [user@remote host] -f -L 1234:[remote host]:21 tail -f /etc/motd
接着运行FTP客户,把它设置到指定的端口:
lftp -u [username] -p 1234 localhost
当然,用这种方法很麻烦而且很容易出错。所以最好使用前三种方法。

用SSH设置"加密通道"

"加密通道"的基础知识

SSH 的"加密通道"是通过"端口转发"来实现的。你可以在本地端口(没有用到的)和在远程服务器上运行的某个服务的端口之间建立"加密通道"。然后只要连接到本地端口。所有对本地端口的请求都被SSH加密并且转发到远程服务器的端口。当然只有远程服务器上运行SSH服务器软件的时候"加密通道"才能工作。可以用下面命令检查一些远程服务器是否运行SSH服务:
telnet [full name of remote host] 22
如果收到这样的出错信息:
telnet: Unable to connect to remote host: Connection refused
就说明远程服务器上没有运行SSH服务软件。
端口转发使用这样的命令语法:
ssh -f [username@remote host] -L [local port]:[full name of remote host]:[remote port] [some command]
你不仅可以转发多个端口而且可以在"~/.ssh/config"文件中用"LocalForward"设置经常使用的一些转发端口。

为POP加上"加密通道"

你可以用POP协议从服务器上取email。为POP加上"加密通道"可以防止POP的密码被网络监听器(sniffer)监听到。还有一个好处就是SSH的压缩方式可以让邮件传输得更快。
假定你在pop.foobar.com上有一个POP帐号,你的用户名是"bilbo"你的POP口令是"topsecret"。用来建立SSH"加密通道"的命令是:
ssh -f -C bilbo@pop.foobar.com -L 1234:pop.foobar.com:110 sleep 5
(如果要测试,可以把"sleep"的值加到500)。运行这个命令之后会提示你输入POP口令:
bilbo@pop.foobar.com’s password:
输入口令之后就可以用"telnet"连接到本地的转发端口了。
telnet localhost 1234
你会收到远程mail服务器的"READY"消息。
当然,这个方法要求你手工输入所有的POP命令,这是很不方便的。可以用Fetchmail(参考how to configure Fetchmail)。Secure POP via SSH mini-HOWTO、man fetchmail和在"/usr/doc/fetchmail-[…]"目录下的Fetchmail的FAQ都提供了一些具体的例子。
请注意IMAP协议使用的是不同的端口:IMAP v2的端口号为143而IMAP v3的端口号为220。

为X加上"加密通道"

如果你打算在本地计算机上运行远程SSH服务器上的X程序,那么登录到远程的计算机上,创建一个名为"~/.ssh/environment"的文件并加上这一行:
XAUTHORITY=/home/[remote user name]/.Xauthority
(如果在远程主机上你的家目录下不存在".Xauthority"这个文件,那么当用SSH登录的时候就会自动创建)。
比如启动一个X程序(xterm)可以这个命令:
ssh -f -X -l [remote user name] [remote machine] xterm
这将在远程运行xterm这个程序。其它的X程序也是用相同的方法。

为linuxconf加上"加密通道"

Linuxconf(http://www.solucorp.qc.ca/linuxconf/)是Linux的配置工具,它支持远程管理。Linuxconf的FAQ重说明了如何通过SSH使用linuxconf:
其命令为:
remadmin –exec [link_command] linuxconf –guiproto
如果你想在两台计算机之间用加密的方式传送信息,那么最好用ssh。命令是:
remadmin –exec ssh -l [account] linuxconf –guiproto
这是非常有效的而且运行用图形界面管理计算机。
这种方法需要在客户端安装linuxconf。其它的方法还有直接登录到服务器上用"X11Forwarding"或字符界面运行linuxconf。

为Webmin加上"加密通道"

Webmin(http://www.webmin.com/webmin/)是一个新的基于浏览器的配置工具。它运行在1000端口。你可以用SSH的"端口转发"对它进行加密:
ssh -f -l [remote user name] [remote host] -L 1234:[remote host]:10000 tail -f /etc/motd
把浏览器指向
http://localhost:1234

  在Cisco中有以下三种方案可供选择,方案1和方案2实现的功能是一样的,即在具体的交换机端口上绑定特定的主机的MAC地址(网卡硬件地址),方案3是在具体的交换机端口上同时绑定特定的主机的MAC地址(网卡硬件地址)和IP地址。

一、方案1 基于端口的MAC地址绑定

  思科2950交换机为例,登录进入交换机,输入管理口令进入配置模式,敲入命令:
  Switch#config terminal
  #进入配置模式
  Switch(config)# Interface fastethernet 0/1
  #进入具体端口配置模式
  Switch(config-if)#Switchport port-secruity
  #配置端口安全模式
  Switch(config-if )switchport port-security mac-address MAC(主机的MAC地址)
  #配置该端口要绑定的主机的MAC地址
  Switch(config-if )no switchport port-security mac-address MAC(主机的MAC地址)
  #删除绑定主机的MAC地址
注意:
  以上命令设置交换机上某个端口绑定一个具体的MAC地址,这样只有这个主机可以使用网络,如果对该主机的网卡进行了更换或者其他PC机想通过这个端口使用网络都不可用,除非删除或修改该端口上绑定的MAC地址,才能正常使用。

  注意:
  以上功能适用于思科2950、3550、4500、6500系列交换机

二、方案2 基于MAC地址的扩展访问列表

  Switch(config)Mac access-list extended MAC10
  #定义一个MAC地址访问控制列表并且命名该列表名为MAC10
  Switch(config)permit host 0009.6bc4.d4bf any
  #定义MAC地址为0009.6bc4.d4bf的主机可以访问任意主机
  Switch(config)permit any host 0009.6bc4.d4bf
  #定义所有主机可以访问MAC地址为0009.6bc4.d4bf的主机
  Switch(config-if )interface Fa0/20
  #进入配置具体端口的模式
  Switch(config-if )mac access-group MAC10 in
  #在该端口上应用名为MAC10的访问列表(即前面我们定义的访问策略)
  Switch(config)no mac access-list extended MAC10
  #清除名为MAC10的访问列表

  此功能与应用一大体相同,但它是基于端口做的MAC地址访问控制列表限制,可以限定特定源MAC地址与目的地址范围。

  注意:
  以上功能在思科2950、3550、4500、6500系列交换机上可以实现,但是需要注意的是2950、3550需要交换机运行增强的软件镜像(Enhanced Image)。

三、方案3 IP地址的MAC地址绑定

  只能将应用1或2与基于IP的访问控制列表组合来使用才能达到IP-MAC 绑定功能。 
  Switch(config)Mac access-list extended MAC10
  #定义一个MAC地址访问控制列表并且命名该列表名为MAC10
  Switch(config)permit host 0009.6bc4.d4bf any
  #定义MAC地址为0009.6bc4.d4bf的主机可以访问任意主机
  Switch(config)permit any host 0009.6bc4.d4bf
  #定义所有主机可以访问MAC地址为0009.6bc4.d4bf的主机
  Switch(config)Ip access-list extended IP10
  #定义一个IP地址访问控制列表并且命名该列表名为IP10
  Switch(config)Permit 192.168.0.1 0.0.0.0 any
  #定义IP地址为192.168.0.1的主机可以访问任意主机
  Permit any 192.168.0.1 0.0.0.0
  #定义所有主机可以访问IP地址为192.168.0.1的主机
  Switch(config-if )interface Fa0/20
  #进入配置具体端口的模式
  Switch(config-if )mac access-group MAC10 in
  #在该端口上应用名为MAC10的访问列表(即前面我们定义的访问策略)
  Switch(config-if )Ip access-group IP10 in
  #在该端口上应用名为IP10的访问列表(即前面我们定义的访问策略)
  Switch(config)no mac access-list extended MAC10
  #清除名为MAC10的访问列表
  Switch(config)no Ip access-group IP10 in
  #清除名为IP10的访问列表

  上述所提到的应用1是基于主机MAC地址与交换机端口的绑定,方案2是基于MAC地址的访问控制列表,前两种方案所能实现的功能大体一样。如果要做到IP与MAC地址的绑定只能按照方案3来实现,可根据需求将方案1或方案2与IP访问控制列表结合起来使用以达到自己想要的效果。
  注意:以上功能在思科2950、3550、4500、6500系列交换机上可以实现,但是需要注意的是2950、3550需要交换机运行增强的软件镜像(Enhanced Image)。

  后注:从表面上看来,绑定MAC地址和IP地址可以防止内部IP地址被盗用,但实际上由于各层协议以及网卡驱动等实现技术,MAC地址与IP地址的绑定存在很大的缺陷,并不能真正防止内部IP地址被盗用。

一、文件管理

1、#ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件
   #ls ls -l或ll 列出当前目录下文件的详细信息

   #pwd pwd 查看当前所在目录的绝对路经

   #cd cd .. 回当前目录的上一级目录
   #cd cd – 回上一次所在的目录
   #cd cd ~ 或 cd 回当前用户的宿主目录
   #cd cd ~用户名 回指定用户的宿主目录

2、#mkdir mkdir 目录名 创建一个目录
   #mkdir mkdir –p 递归式去创建一些嵌套目录

   #rmdir Rmdir 空目录名 删除一个空目录

3、#rm rm 文件名 文件名 删除一个文件或多个文件
   #rm rm -rf 非空目录名 递归删除一个非空目录下的一切,不让提式-f

4、#cat cat文件名 一屏查看文件内容
5、#more more文件名 分页查看文件内容
6、#less less 文件名 可控分页查看文件内容
7、#grep grep字符 文件名 根据字符匹配来查看文件部分内容

8、#mv mv 路经/文件 /经/文件 移动相对路经下的文件到绝对路经下
   #mv mv 文件名 新名称 在当前目录下改名

9、#cp cp /路经/文件 ./ 移动绝对路经下的文件到当前目录下

10、#find find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录

11、#ln ln 源文件 链接名 创建当前目录源文件的硬链接
    ln /home/test /usr/test1 在/usr下建立/home/test的硬链接
12、#ln Ln -s a b 创建当前目录下a的符号链接b

13、#touch touch file1 file2 创建两个空文件

二、磁盘管理

14、#df df 用于报告文件系统的总容量,使用量,剩余容量。

15、#du du -b /home 查看目前/HOME目录的容量(k)及子目录的容量(k)。

16、#fdisk fdisk -l 查看系统分区信息
17、#fdisk fdisk /dev/sdb 为一块新的SCSI硬盘进行分区

18、#mkfs.ext3 Mkfs.ext3 /dev/sdb1 为第一块SCSI硬盘的第一主分区格式化成ext3的文件系统
    mkfs.ext2 Mkfs.ext2/dev/sdb2 格式化成ext2文件系统

19、#mount mount -t 文件系统类型 设备路经 访问路经
    # 文件系统类型
    Iso9660 光驱文件系统、vfat Fat文件系统(windows)
    挂载光驱 # mount –t iso9660 /dev/cdrom /mnt/cdrom
    挂载FAT # mount –t vfat /dev/hda5 /mnt/cdrom 挂第一个ide的第五个逻辑分区

20、# Umount /mnt/cdrom 卸载/mnt/cdrom为空

三、打印管理

21、#redhat-config-printer-tui 进入安装打印机界面

22、#lp lp –d hptr file 打印file到hptr的打印机上

23、#lpq Lpq –P 打印机名 查看打印机的状态

24、#lprm Lprm –P 打印机名 a 删除打印机内的打印作业

25、#disable Disable –r “changing paper” HPtr 禁用打印机并提示原因

26、#enable Enable HPtr 重新启用被禁用的

四、用户管理

27、#useradd Useradd 创建一个新的用户

28、#groupadd Groupadd 组名 创建一个新的组

29、#passwd Passwd 用户名 为用户创建密码
30、#Passwd -d Passwd -d用户名 删除用户密码也能登陆
31、#Passwd -l Passwd -l用户名 锁定账号密码
32、#Passwd -u Passwd -u用户名 解锁账号密码
33、#Passwd -S Passwd -S用户名 查询账号密码

34、#Usermod -l Usermod -l 新用户名 老用户名 为用户改名
35、#Usermod -L Usermod -L 要锁定用户名 锁定用户登陆
36、#Usermod -U Usermod –U解锁用户名 解锁用户登陆
37、#Usermod -u Usermod –u 501用户名 改变用户UID

38、#Userdel Userdel–r 用户名 删除用户一切

39、#Groupmod -n Groupmod –n新用户名 老用户名 为组改名
40、#Groupmod -g Groupmod –g 501 组名 改变组GID

41、#groupdel Groupdel组名 先应删它的用户 删除组

42、#gpasswd -a gpasswd -a 用户名 组名 增加用户到组

43、#Id id 用户名 查用户信息

五、软件管理

44、#rpm -qa rpm –qa | less 查询已安装RPM
45、#rpm –qa | grep ftp 查询指定RPM
46、#rpm -q rpm -q 已安装的RPM包 查是否安装
47、#rpm -q telnet-server 查看telnet服务器包
48、#rpm -qi rpm –qi 软件包名称 查看软件的描述信息
49、#rpm -ql rpm –ql软件包名称 查询软件包的文件列表
50、#rpm -qf rpm –qf软件包名称 查询某个文件所属的软件包
51、#rpm -qp rpm –qp软件包全名 查询未安装的软件包信息
52、#rpm -e rpm –e 软件包名称 删除具体的软件包
53、#rpm -U rpm –Uvh软件包全名 升级软件包并显示过程
54、#rpm -ivh rpm –ivh 软件包全名 安装软件包并显示过程
55、#rpm -V rpm –V软件包名称 验证软件包的大小,类型等

56、#tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包
57、#tar -cf tar –cvf benet.tar /home/benet 把/home/benet目录打包
58、#tar -czf tar –zcvf benet.tar.gz /mnt 把目录打包并压缩
59、#tar –tf tar –tf benet.tar 看非压缩包的文件列表
60、#tar –tzf tar –tf benet.tar.gz 看压缩包的文件列表
61、#tar –xf tar –xf benet.tar 非压缩包的文件恢复
62、#tar –zxvf tar –zxvf benet.tar.gz 压缩包的文件解压恢复
63、#tar -jxvf tar –jxvf benet.tar.bz2

64、#diff diff file1 file2 > 补丁名.patch 为新旧文件生成补丁文件
65、#diff diff file1 file2 比较两个文件的区别

66、#Patch Patch file补丁名.patch 打补丁

67、#./configure –prefix=/usr/local/ 编译前配置

68、#make 编译
69、#make install 安装编译好的源码包

六、启动管理

70、#reboot Init 6 重启LINUX系统

71、#Halt Init 0 Shutdown –h now 关闭LINUX系统

72、#runlevel 显示系统运行级

73、#Init [0123456] 改变系统运行级,7种

74、#Chkconfig –-list [服务名称] 查看服务的状态
75、#Chkconfig –-level on|off|set 设置服务的启动状态
76、#Chkconfig on|off|set 设置非独立服务启状态

七、进程管理

77、#Top动态 Ps-aux静态 进程树pstree 查看系统进程

78、#程序名 & 后台运行程序

79、#fg 把后台运行的进程调回前台

80、#bg 把前台运行进程调到后台

81、#renice Renice +1 180 把180号进程的优先级加1

82、#kill Kill PID 终止某个PID进程

83、#at at 5pm + 3 days
    /bin/ls 指定三天后下午5:00执行/bin/ls

84、#crontab Crontab -e 用VI的形式来编辑自动周期性任务
85、#crontab Crontab -l 查看自动周期性任务
86、#crontab Crontab -r 删除自动周期性任务
87、#crond Service crond
    马上启动自动周期性服务 Service crond

八、文件权限

88、#chmod chmod u+s file 为file的属主加上特殊权限
    chmod g+r file 为file的属组加上读权限
    chmod o+w file 为file的其它用户加上写权限
    chmod a-x file 为file的所有用户减去执行权限
    chmod 765 file 为file的属主设为完全权限,属组设成读写权,其它用户具有读和执心权限

89、#chown chown root /home 把/home的属主改成root用户

90、#chgrp chgrp root /home 把/home的属组改成root组

sudo apt-get install 软件名 安装软件命令
sudo nautilus 打开文件(有root权限)

su root 切换到“root”

ls 列出当前目录文件(不包括隐含文件)
ls -a 列出当前目录文件(包括隐含文件)
ls -l 列出当前目录下文件的详细信息

cd .. 回当前目录的上一级目录
cd – 回上一次所在的目录
cd ~ 或 cd 回当前用户的宿主目录

mkdir 目录名 创建一个目录
rmdir 空目录名 删除一个空目录
rm 文件名 文件名 删除一个文件或多个文件
rm -rf 非空目录名 删除一个非空目录下的一切

mv 路经/文件 /经/文件 移动相对路经下的文件到绝对路经下
mv 文件名 新名称 在当前目录下改名

find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录

fdisk fdisk -l 查看系统分区信息
fdisk fdisk /dev/sdb 为一块新的SCSI硬盘进行分区

chown chown root /home 把/home的属主改成root用户
chgrp chgrp root /home 把/home的属组改成root组

Useradd 创建一个新的用户
Groupadd 组名 创建一个新的组
Passwd 用户名 为用户创建密码
Passwd -d用户名 删除用户密码也能登陆
Passwd -S用户名 查询账号密码
Usermod -l 新用户名 老用户名 为用户改名
Userdel–r 用户名 删除用户一切

tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包
tar –cvf benet.tar /home/benet 把/home/benet目录打包
tar –zcvf benet.tar.gz /mnt 把目录打包并压缩
tar –zxvf benet.tar.gz 压缩包的文件解压恢复
tar –jxvf benet.tar.bz2 解压缩

make 编译
make install 安装编译好的源码包

reboot Init 6 重启LINUX系统
Halt Init 0 Shutdown –h now 关闭LINUX系统

uname -a 查看内核版本
cat /etc/issue 查看ubuntu版本

lsusb 查看usb设备
sudo ethtool eth0 查看网卡状态
cat /proc/cpuinfo 查看cpu信息
lshw 查看当前硬件信息

sudo fdisk -l 查看磁盘信息
df -h 查看硬盘剩余空间

free -m 查看当前的内存使用情况
ps -A 查看当前有哪些进程
kill 进程号(就是ps -A中的第一列的数字)或者 killall 进程名( 杀死一个进程)
kill -9 进程号 强制杀死一个进程

常用apt命令:
apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等

sudo apt-get install package 安装包
sudo apt-get install package – – reinstall 重新安装包
sudo apt-get -f install 修复安装”-f = –fix-missing”
sudo apt-get remove package 删除包
sudo apt-get remove package – – purge 删除包,包括删除配置文件等

sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-get dselect-upgrade 使用 dselect 升级

apt-cache depends package 了解使用依赖
apt-cache rdepends package 是查看该包被哪些包依赖

sudo apt-get build-dep package 安装相关的编译环境
apt-get source package 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理无用的包
sudo apt-get check 检查是否有损坏的依赖

清理所有软件缓存(即缓存在/var/cache/apt/archives目录里的deb包 )
sudo apt-get clean

删除系统不再使用的孤立软件
sudo apt-get autoremove

目标:对用户zhao在/home目录上实现soft limit为5k,hard limit 为10k的磁盘配额

1. 修改包含/home的行, #vi /etc/fstab,改为:defaults,usrquota。也就是增加usrquota项。然后保存退出。

2、卸载/home目录 #umount /home

3. 挂接/home目录 #mount /home

4、增加用户zhao #useradd zhao

5、修改密码 #passwd zhao

6、生成关于/home目录的quota信息 # quotacheck -cmug /home
   #quotacheck -vu /home

7、查看所有用户的信息 #repquota -au

8、设置配额 #edquota -u zhao
    将soft 和hard 分别改为5和10

9、保存并退出 #wq!

10、修改时间 #edquota -t

11、#wq!

12、开启/home上的磁盘配额功能 #quotaon /home

13、查询配额 #quota -u zhao

14、验证配额 #su – zhao
     $touch myfile

  这是我的新书郎咸平说——《谁在谋杀中国经济:附身中国人的文化魔咒》的序言,该书将在6月初由东方出版社出版。

  中华文化的劣根性和茫然性都表现在中国四大商帮的历史上(三)

  讲了这么多,稍微总结一下,我们会发现中华文化都有什么问题呢?浮躁,投机取巧,而且还自闭、僵化,既不了解外面的世界,也很少自我检省。可问题是,这些劣根性都是从哪里遗传下来的呢?我们对外界的极度不了解,是因为我们往往关注人家怎么想,而很少去理解为什么人家这么想,他们这么想的文化和历史根源在哪里,所以我们一再错过学习别人先进之处的历史机遇。

  事实上,我们对自己的过去比对自己的现在还缺少深刻的自省。社会上不时就会出现一股风潮,把我们这些古代的商帮从尘封的历史里请出来,而且敬奉为经商楷模,顶礼膜拜,所以市面上称颂胡雪岩的书可谓是汗牛充栋,有关山西票号的电视剧也是热播好一阵子。可是大家知道不知道,胡雪岩不过是一个投机分子,而最后也不过是一个失败者?四大商帮[晋商、徽商、浙商(包括湖商和宁波商帮)、粤商(包括广州商帮和潮州帮)]大部分都没能经得起时间的考验,这绝不仅仅是因为政治和政策的原因,就像我们分析今天的企业一样,内因决定外因,大家有没有仔细地分析过这些商帮失败的原因?这些经过仔细思辨的东西才是真正值得我们向老祖宗学习的地方,而不是说简简单单地听几个古代商帮如何煊赫的故事,然后鼓起几分钟的民族自豪感的热血。

  纵览晋商、徽商乃至湖州帮的沉寂,都不是因为资金不足,而是因为思维上的浮躁、投机取巧,而且还自闭、僵化。浮躁就是暴富之后开始吃喝嫖赌、纸醉金迷,投机取巧就是倒卖盐引、炒作房地产。他们完成初始的资本积累后,无一不进军房地产,之后比如湖州帮就是折戟在上海的房地产投机狂潮里,胡雪岩所代表的徽商就是崩溃在自己的蚕丝贸易投机里。思维僵化的最主要表现,就是暴富之后不知道该如何进一步发展!比如晋商从来不读书,徽商读书也只是热衷科举,为的只是进一步的官商勾结。甚至很大程度上,他们往往不觉得自己是暴富的,反而认为自己的致富是辛苦闯荡而来的。但是从历史的角度来看,他们的崛起都是靠当时的重大经济政策或开放政策,这些我会在本书第十章到第十五章中详细介绍。因此,这个问题在今天看来也毫不陌生,而思维僵化这一点,恰恰是中华文化最陈旧、最要不得的地方。所以你不得不承认,从古至今一家企业能走多远,最终都是取决于其战略思维能站到多高。

  以此为鉴,其实只有两条出路:其一是顺应改革进入下一个政策性行业;其二是升级企业管理制度,实现产业资本与金融资本的高度整合,告别传统的商业模式。所以从这个意义上说,胡雪岩和晋商、徽商还有湖商根本不值一提,而宁波商帮和潮州商帮的战略高度反而更值得我们关注。胡雪岩只是纯粹的个人投机,不但无法引领一个行业,甚至都无法令一个家族企业长存。他的财富完全来自于权力的腐败和荫庇,这甚至与其他同样基于权力垄断而崛起的晋商、徽商和广州商帮等都不可相提并论,因为后者的垄断正是为当时的政权提供了其必须的服务,并且正因为如此才能得到政治体制上的不断维护和支持。本书中第十章到第十五章中所展现的一个又一个例子也同时说明,事实上没有任何一个商帮能够长期做到顺应和主导改革,进而继续垄断这种政策性行业,特别是当面对来自体制外部的强大挑战、竞争甚至侵略时,商帮大抵都难逃被淘汰出局的宿命,包括晋商、徽商、湖商和广州商帮。历史都曾留给每个商帮转型的时机,然而山西票号迈向现代银行这一脱胎换骨变革的几度难产,又无比鲜明地展现了僵化思维的痼疾。

  面对这种依然存在的挑战、依然存在的悲哀,今天的每个中国人和中国企业不都应该反省一下吗?这种劣根性,在百年前决定了晚清政府的软弱无能和丧权辱国,在今天呢?我们不但浮躁,而且喜欢投机取巧,所以就决定了中国企业落后于人,永远只能做产业链里附加值最低的制造环节,而无法脚踏实地地走向产业链价值更高的其他环节。而且我们还自闭僵化,以为做这个最低的环节有所谓的比较优势,因此就固步自封、不思进取。更可悲的是我们常常把浮躁冒进当作进步,或是孤注一掷地押宝在一些不切实际、没有科学工序和科学思想的尝试上。百年间的蹉跎反复犹在眼前,今天的中国企业,乃至每一个中国人,应该如何自处呢?

  这是我的新书郎咸平说——《谁在谋杀中国经济:附身中国人的文化魔咒》的序言,该书将在6月初由东方出版社出版。

  谋杀中国经济的文化魔咒(一)

  1.文化魔咒扼杀中国经济

  不管你盖了多少高楼大厦,也不管你登了多少世界高峰,可是在老百姓看来,你的心灵就是高不过一座坟头!你说这是不是中国企业家的悲哀?但这还不算是真正让人悲哀的。你想想,多少中国人流了多少血汗,污染了多少环境,才生产出来的物美价廉的中国商品,就这样不但动辄被贸易制裁,还永远得不到人家的尊重。更悲哀的是什么呢?就是我们这么大的内需市场在这30年来好不容易培养出来的几个企业,不要说没有几个真正让世界尊敬的,就连让我们中国人自己心服口服的也没几个。最悲哀的是什么呢?就是我们中国人和中国企业家很少静下心来好好想一想——这是为什么呢?你有没有想过,这些悲哀有多少是我们中华文化的魔咒呢?

  这几年来,我奔赴大江南北,为政府官员和企业家讲授行业发展战略和企业战略案例。听过我演讲的政府官员和企业家何止成千上万!我期望透过国际成功企业的案例,来改变国内企业家朋友们的浮躁和投机取巧的心态和僵化的思维模式,期望我们的企业家们能够回到企业经营的基本面来。可是几年下来,我非常失望!在互动中,令人难以想象的是,这些朋友提出的问题,几乎完全一样!而且很多人听过我的演讲不下十次。看来我的案例演讲也很难能够改变我们企业家朋友僵化的思维方式。这不得不经常让我静下来思考其背后的文化因素。当然也有为数不少的企业家朋友,受我演讲的影响,改变了浮躁和投机取巧的心态,企业发展取得了斐然的成就。

  我感觉,似乎有一种“文化魔咒”附身在我们的每个国人身上。就像魔咒一样,去掉也不是,不去掉也不是。之所以称为“文化魔咒”,是因为我们的文化,一面表象为“大爱”,另一面又表象为“浮躁、投机取巧的心态和僵化的思维方式”,这是我们文化固有的劣根性。这是“一体两面”的魔咒,左右着国人的思维和行为。最令人有魔咒感的是,我们的“大爱”文化,是“潜藏”的,我们的国人从来不懂也不会表达我们的“大爱”文化,所谓有“文化”的张艺谋们都是如此,把奥运会的开幕式搞得那么没有“大爱”的文化,更何况普通的百姓们!我们的大爱文化,只有在民族遇到大灾大难时才会迸发出来,四川汶川大地震就是明显的案例。我们的大爱文化能够随时随地表现之时,就是中华民族真正腾飞之日!

  我认为,我们大爱文化的潜藏性和我们文化固有的劣根性,正是谋杀我们经济的幕后黑手!这不是危言沖听,这是附身在每个国人身上的魔咒!我们必须打破这个魔咒,让我们的大爱不在潜藏,让我们文化的劣根性不在成为我们思维的习惯,我们的经济才有救,国家才有希望。这就是我,作为一个经济学家,准确地说,作为金融学家的思考!我希望通过本书,用老百姓都能听懂的语言,把这些思考展现给各位读者,让我们的读者跳出文化魔咒,不再茫然!

  2.文化魔咒根深蒂固

  这些植入每个中国人文化层面的劣根性包括三种:浮躁、投机取巧和思维僵化。而这些劣根性导致了中国企业的盲目做大做强,其手法就是投机取巧的收购兼并,但是由于思想僵化的结果,我们会发现这些被文化诅咒的劣根性百年来还是没有太大长进。本书的第一部分就是带领大家从历史的角度,来看中华文化的劣根性对于我国企业甚至高科技发展的冲击。

  在本书的第二部分,我会与大家一起分析中华文化的四个茫然表现:第一就是中国人就知道茫然地赚钱,为了赚钱可以没有任何社会责任感和道德感;第二就是我们这个文化茫然的自闭,对外面的世界缺少真正的理解,好不容易有所了解也只是浮躁地停留在表面;这样就导致第三个茫然,即我们也很少明白别人如何来看我们,我们通常只是茫然地关注其看法,而不去思考这些看法背后的根源在哪里;第四,更可悲的是,与别人对我们的了解相比,我们对自己的缺点是茫然的,缺乏深刻的认知和反省。

  既然说是中华文化的诅咒,那么这三种劣根性及四种茫然就不是只有今天的中国人才有的。事实上,正是因为我们缺少对自己缺点的深刻批判和反省,才使得今天的中国人和中国企业对中国古代商帮有一种普遍的错觉——晋商是金融楷模,徽商是内贸模范,浙商和粤商是外贸鼻祖。更普遍的错觉就是对胡雪岩的崇拜,事实上大家了解的或许只有他早期的一时煊赫,却并不知道他后期因为中华文化的投机取巧而导致彻底的失败。因此,本书第三部分会带领大家以第一部分和第二部分所累积的批判眼光,重新审视四大商帮的兴衰故事,挖掘附身中国企业文化魔咒的根源。

  你如今的所做所想,有多少是来自你已经默然接受的中华文化?我们说具体一点,想想你心目中的诸葛亮,你只需要回答我一个问题:“你是不是觉得诸葛亮足智多谋呢?”或者我换个问法:“你是不是也觉得诸葛亮是一个非常值得学习的好榜样?”

  只要你是土生土长的中国人,你的答案肯定都是:“是,当然是,诸葛亮又是草船借箭的,又是借东风,又是空城计简直聪明极了!”然而你可能并没意识到,这恰恰是我们中华文化的一个致命伤——投机取巧。你有没有想过,万一东风没有借到,东吴数万将士的生命将置于何处?你想一想,这是什么事件呢,标准的小概率事件!一场生死攸关的决定性战役却系成败于小概率事件,请问这是什么心态?同样,诸葛亮在空城计里是不是也心怀这种以小搏大的小概率心态?这种小概率事件具体的表现,就是我们经常谈论的“四两拨千斤”、“杀鸡焉用牛刀”这种投机取巧的心态。请读者想一想,中华文化为什么不崇拜“千斤拨四两”这样拥有必胜把握的心态呢?

  这还不是最致命的,最要命的、也是最悲哀的,就是浮躁!中国人崇拜悲剧英雄,例如岳飞、屈原等等,就是浮躁的表现。我为什么这么说,因为崇拜悲剧英雄就只是看他们表面的悲壮,正所谓“出师未捷身先死,长使英雄泪满襟”。但是我们的文化却不去深究这些悲剧英雄失败的真正原因,其结果就是造成我们只看表面现象,不研究真正的本质原因的恶质文化传承。例如我们经常说的“失败乃成功之母”,就是这种心态的表现,我们会盲目地相信表面上的失败加失败加失败竟然会等于成功,而不去研究每一次失败的本质原因。你平时有这种心理可能不觉得有什么大问题,可是你知道不知道,浮躁这种心态如果放在企业家身上会导致什么?就是喜欢盲目地做大做强。我经常说,我们的企业家只要做到一定的规模,就会产生进入世界500强的病态心理。为了实现这一目标,他们采取的方法就是投机取巧,例如TCL收购汤姆逊,联想收购IBM的全球PC业务,就是这两种病态心理的体现!由此带来的直接后果就是摧毁股东价值,并且这样的事例不是偶尔发生一次两次,而是反复重演。我们的企业家乐此不疲,投机到底。这种病态心理就是在你崇拜悲剧英雄和相信空城计的一刹那进入你的灵魂的;就是在你欣赏诸葛亮借东风火烧赤壁的那一刻,成为你永远也跳不出来的僵化思维的一部分的,这些细节我在本书第一章里会详细解说。

  3.中国高科技的文化魔咒

  类似的文化问题也严重影响着我国高科技的发展。以联想为例,联想在2004年之前浮躁地想要进入世界500强,而其手法就是投机取巧地搞IT服务、手机、互联网;到了2004年,这些战略几乎全都一败涂地,于是联想又开始收购IBM的全球PC业务;而到了2009年1月6日再次陷入困境。我觉得最有趣的就是,联想在这种困境之下又在押宝!2008年柳传志说要搞服务器,到现在也没有见到什么真正的起色,2009年又押宝中小企业市场、押宝超级计算机、押宝服务器、押宝1500家体验店、押宝时尚计算机、押宝上网本。任谁都会发现,这家企业的战略怎么这么混乱啊!

  其实这些混乱的战略充分显示出,中国高科技企业特别好大喜功。举例而言,联想在2005年就非常高调地宣布将制造出世界最快的超级计算机,目标就是比IBM还快10倍!这背后是什么东西在作祟?就是我们的文化崇尚的精神目标,如“追求第一”、“不鸣则已,一鸣惊人”。而这种心态就是我前面所讲的浮躁,因而使得我们相信奇迹,而且崇拜奇迹。由于受到这种浮躁文化的影响,我国许多企业在高新技术产品开发过程中追求高目标,喊出“世界最快超级计算机”的口号,甚至把追求“国内首创”、“填补国内空白”、“填补世界空白”作为产品的研发目标。至于如何达到这个目标,竟然是以“愚公移山”和“铁杵磨成针”这样非科学的僵化理念作为座右铭。

  到底什么才是正确的高科技理念,我们以甲骨文公司的成功为例,谈谈如何打破中华文化的魔咒。

  第一,在西方理念中,所谓科研就是积累和传递。中国科研的特性正好相反,我们基本上都在低水平上浪费时间了,而且缺乏积累和传递。例如我们小学二年级的学生就可怜巴巴地背九九乘法表,这就是低水平的浪费。这种低水平的浪费还包括了我们消耗了学生大量的时间和精力学习数学和物理等学科的解题技巧,还有特重视以解题为主的奥林匹克数学、物理等等的竞赛。此外,还有一句各位学生和家长最熟悉的低水平浪费的话就是“学好数理化,走遍天下都不怕”,这是绝对的胡说八道,而且绝对是低水平的浪费时间。

  第二,在西方理念中,所谓科研就要遵守规律。我们不同,我们不尊重规律,而希望破坏规律,我们甚至以破坏规则规律为荣。举例而言,我和很多国人一样,都以破坏规则为荣。我在2008年10月初应邀到广西梧州演讲,由于没有飞机到达那里,而开车过去需要5个小时,为了赶时间,演讲主办方派了一部警车来接我。我坐上警车后,警笛一路鸣响,又闯红灯,又不交过路费,我心里觉得很畅快。我在破坏交通规则之余,不但不以为耻,反而得意洋洋。

  第三,在西方理念中,所谓科研就是加强对错误的测试和验证。在我们中国人的潜意识里,什么叫水平呢?就是做出来的事没有错误,对工作的要求也是这样的。我们为什么有这种追求完美的思维呢?我想可能与我们从小到大每次考试都追求100分的心态有着直接关系。甚至孩子考了98分,爸妈还不一定满意,因为没拿到100分,因为只有100分才完美。在这种意识的支配下,加强对错误的测试与验证过程就被视为一种资源浪费,因为既然没错误,就不要测试与验证了吧。而在西方理念中,完成的工作必定有错误,而且,高科技含量越大,错误也就越多,这不是有无水平的问题。所以,他们认为,加强错误的测试与验证是成功的必然保证。他们为什么有这种接受错误的思维呢?我想很可能与西方的考试制度不同有关,基本上西方是以曲线打分,只要你在全班位于前30%,你就是A,虽然你考试犯了很多错误,但你相对上仍然是最好的。因此西方人勇于接受错误的思维远远高于我们,这种思维表现在科研上就形成了西方重视测试改正错误,而中国人不重视测试。

  第四,在西方理念中,失败就是控制和管理的失误。这种心态在我们的企业里是不可想象的。“失败是成功之母”,我们认为这是理所当然的。由于我们有这种思维,因此失败可以不被追究责任;而在西方理念中,就不这么看,失败必然是控制或管理失误,是要负责任的。

  这些就是本书第二章要细谈的中国企业在科技研发上的错误思维,本质上就是中华文化劣根性的一种放大。