Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2520927
  • 博文数量: 867
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 9800
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-27 14:44
文章分类

全部博文(867)

文章存档

2007年(6)

2006年(861)

我的朋友

分类: LINUX

2006-08-18 23:09:16

./mbmon-d 

Using  VIA686  HWM  directly!!

*  VIA  Chip  VT82C686A/B  found. 

  

上面内容表示显示主板芯片是威盛的VT82C686A/B。下面在命令行下运行。

./mbmon

Temp.=  42.1,  33.0,  24.2;  Rot.=  5357,  0,  0

Vcore  =  1.78,  3.11;  Volt.  =  3.41,  4.93,  12.19,  0.00,  0.00

上面显示了中央处理器温度为42.1,电源温度为33.0,主板温度为24.2CPU风扇转速为5357/分钟;CPU核心电压为1.78伏特,输入电压为12.19伏特、3.41伏特,  4.93伏特。缺省情况下,以上内容五秒钟更新一次记录。

MbmonX窗口下运行,运行结果如图1所示。

./xmbmon

1  mbmonX窗口下运行

4.远程监控

Mbmon最新版本还提供远程监控的功能:

./mbmon-p  22

其中P  22”表示打开端口22,这样你就可以使用TelnetSSH等远程工具连接Linux主机来检测CPU状态了。

硬盘磁道检测

硬盘物理坏道是硬盘的所有Linux硬件故障中最让人头痛的。它轻则使你的Linux计算机频频死机,重则让你的所有数据化为乌有。现在出厂的硬盘(1993年以后)基本上都支持SMART(Self  Monitoring  Analysis  and  Reporting  Technology)自动检测分析及报告技术。SMART技术可以对硬盘的磁头单元、盘片电机驱动系统、硬盘内部电路以及盘片表面介质材料等进行监测。当SMART监测并分析出硬盘可能出现问题时,会及时向用户报警以避免计算机数据受损失。SMART技术必须在主板支持的前提下才能发生作用,而且  SMART技术也不能保证能预报所有可能发生的硬盘故障。SMART(SFF-8035i)是硬盘生产商们建立的一个工业标准。这个标准就是在硬盘上保存一个跟执行情况、可靠程度、读找错误率等属性的表格。所有属性都有一个1byte(大小范围1-253)的标准化值,还包含另一个1byte的关键阶段值。如果属性表格内某个数据接近小于或达到关键阶段值,表明硬盘工作不正常了。

Smartmontools是一个Linux下硬盘检测工具,主页为http:  //smartmontools.sourceforge.net,下载链接:ftp:  //fr2.rpmfind.net/linux/sourceforge/smartmontools/smartmontools-5.1-18.i386.rpm

1.软件安装:

rpm-ivh/smartmontools-5.1-18.i386.rpm

软件安装后会在/usr/local/  目录下产生程序:smartctl,先检测硬盘和主板是否支持SMART技术(见图2)

smartctl  -i  /dev/hda7

2  检测硬盘是否支持SMART

2显示笔者的硬盘支持SMART,型号是:ST320414A(希捷的酷鱼III72000RPM2兆缓存)。

2.全面检测硬盘

运行以下硬盘检测命令:

smartctl  -A  /dev/hda7

3  硬盘物理逻辑状态

3是检测到的硬盘信息,其显示的信息根据你的硬盘厂商不同而不同,其中1202行代表硬盘的不同物理性能,纵列代表硬盘的逻辑状态。

FLAG是标记,标准数值(VALUE)应当小于或等於关键值(THRESH)WHEN_FAILED  代表错误信息,图3中的WHEN_FAILED纵行是空行,说明硬盘没有故障。如果WHEN_FAILED显示数字,表明硬盘磁道可能有比较大的坏道。

Smartctl有十几个参数,详细情况可以下面的命令查看:

smartctl  --help  

3.高级应用

我们可以用crontab命令实现每天定时的扫描:

1)首先建立一个文件,文件名称Linuxect(名称自己设定)

crontab  e

2  文件内容:

05  16  *  *  5  smartctl  -A  /dev/hda7

vi编辑后存盘退出。使用crontab命令添加到任务列表中:

crontab  Linuxect

这样系统内所有用户在每个星期五的1605分会自动进行扫描。

内存检测

通常我们会觉得内存出错损坏的几率不大,并且认为如果内存盗耍?敲此?遣豢赡芡ü??IOS的开机自检程序的。事实上这个自检程序的功能很少,而且只是检测容量速度而已,许多内存出错的问题并不能检测出来。如果你在运行程序时不时有某个程序莫名其妙地失去响应;打开文件时偶尔提示文件损坏,但稍后打开又没问题……那你应该考虑检测一下你的内存了。

1.使用Linux命令检测

1)在命令行使用“Free”命令可以监控内存使用情况

free

total  used  free  shared  buffers  cached

Mem:  256024  192284  63740  0  10676  101004

-/+  buffers/cache:  80604  175420

Swap:  522072  0  522072

上面给出了一个256MBRAM512MB交换空间的系统情况。

2)使甩vmstat命令监视虚拟内存使用情况:

  vmstat

procs  -----------memory----------  ---swap--  -----io----  --system--  ----cpu----

r  b  swpd  free  buff  cache  si  so  bi  bo  in  cs  us  sy  id  wa

1  0  0  63692  10704  101008  0  0  239  42  126  105  48  45  7  0

Vmstat()命令是一个通用监控程序,是Virtual  Meomory  Statistics(虚拟内存统计)的缩写。如果使用Vmstat命令的时候没有使用它的任何命令行参数,你将得到一个一次性的报告。Vmstat命令报咨的主要的活动类型有进程(procs)、内存(以千字节为单位)、交换分区  (以千字节为单位)、来自块设备(硬盘驱动器)的输入输出量、系统中断(每秒钟发生的次数)、中央处理单元(CPU)分配给用户系统和空闲时所分别占用比例。

2.使用工具软件检测

Memtest86是一款免费的内存测试软件,测试准确度比较高,内存的隐性问题也能检查出来。可以到页面下载它的最新3.0版本。

下载链接:memtest86-3.0.tar.gz

软件安装:

#  tar  xzvf  memtest86-2.5.tar.gz

#  cd  memtest86-2.5

#  make

然后,将一张  3.5  英寸空白磁盘插入到软盘驱动器,并输入:

#  make  install

另外也可以下载memtest86-3.0.iso.gz  文件,解压后是一个IOS文件,刻录到光盘,再来启动计算机。

重新启动计算机,在BIOS中设定用软驱启动即可,软件运行界面见图4

4  Memtest86软件运行界面

4中可以看到当前系统所采用的处理器型号:AMDDuron和频率:1056,以及CPU的一级缓存(128k)和二级缓存  (64k),系统物理内存的容量(64)和速度(315MB/s)。最后显示的是主板所采用的芯片组类型。在系统信息的右侧显示的是测试的进度。  “Pass”显示的是主测试进程完成进度。“Test”显示的是当前测试项目的完成进度。“Test  #1”显示的是目前的测试项目。“WallTime”显示测试已经耗费的时间,在这一排数据中“ECC”一栏中,显示的是当前内存是否支持打开ECC校验功能。“TEST”显示的是测试的模式,有标准完全模式可供选择。

设定检测选项:我们可以单击“C”键打开Memtest86的设置菜单,接着单击数字键“2”选择“Test  Selection”选项,再单击数字键“3”选择“All  Test”选项打开完全测试模式(如图5所示)。

5  设定检测选项

主要的内存突发问题(比如死亡位)将在几秒钟内检测出来。如果是由特定位模式触发的故障,则需要长时间测试才能检测出来。如果你的内存容量比较大,就需要有耐心等待检测结果。笔者使用的测试内存容量是64MBPC133。使用完全检测模式使用的时间是24分钟。

小结

中央处理器、硬盘、内存是Linux系统的核心。Linux  负有盛名的特点之一是其非凡的稳定性。如果您的硬件有缺陷或配置不正确,那么系统内的数据的安全就危险了,所以实时检测它们的状态是重要的。

红联Linux论坛:

__________________

希望能和你相互交流,愿意和您分享学习、进步中的每分喜悦与快乐

---------------------------------------------

http://tzhsuccess.itpub.net

向版主反映这个帖子   查看tzhsuccess  IP地址

96  旧帖  06-07-17  23:28

[        ]     给予该贴好评    编辑/删除  引用/回复

tzhsuccess

高级会员

注册日期:  2004  Apr

来自:  ?-?子座

技术贴数:7934

论坛积分:31670

论坛排名:67

论坛徽章:23

会员2006贡献徽章  行业板块每日发贴之星  每日论坛发贴之星  ERP板块每日发贴之星    

          

解读Linux文件权限的设置方法

Windows系统其实和Linux系统有相似的地方,Windows系统文件、目录的属性有只读、隐藏,而Linux也一样。

Linux中,每一个文件都具有特定的属性。主要包括文件类型和文件权限两个方面。可以分为5种不同的类型:普通文件、目录文件、链接文件、设备文件和管道文件。

所谓的文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行。Linux  是一个多用户操作系统,它允许多个用户同时登录和工作。因此Linux将一个文件或目录与一个用户或组联系起来。

访问控制列表(ACLAccess  Control  List)为计算机提供更好的访问控制,它的作用是限制包括root用户在内的所有用户对文件、资源或者套接字的访问。下面就来教大家简单的设置方法。

步骤1  检查系统核心

首先检查你的Linux系统的核心是否有支持ACL的功能。因为Linux系统并不是每一个版本的核心都有支持ACL的功能,而最简单的方法就是检查系统目前的核心能否支持:

[root@mail  /]#  cat  /boot

/config-kernel-version  |  grep  -i  ext3

  CONFIG_EXT3_FS=m

  CONFIG_EXT3_IDEX=y

  CONFIG_EXT3_FS_XATTR_SHARING=y

  CONFIG_EXT3_FS_XATTR_USER=y

  CONFIG_EXT3_FS_XATTR_TRUSTED=y

  CONFIG_EXT3_FS_ACL=y

此时如果能看到上面的几项则表示已经编译到核心中,ext3文件系统已支持ACL功能,这些功能在编译核心选项中都可以找到。如果编译时找不到,可以到ACL的官方网站来安装Kernel)。

步骤2  挂载分区

你可以用下列的方式挂载分区并启用ACL

#mount  -t  ext3  -o  acl  /dev/sda1  /fs1

你也可以直接写在/etc/fstab文件中,这样就可以在开机后支持ACL功能:

#vi  /etc/fstab

步骤3  设置ACL权限

ACL常常针对个别用户来进行设置,下面是多个不同的例子:

例如需要创建test1test2test3三个用户,可以先用root身份登录系统,然后执行以下命令分别创建三个用户名和密码:

[root@mail  root]#adduser  test1

[root@mail  root]#adduser  test2

[root@mail  root]#adduser  test3

[root@mail  root]#passwd  test1

[root@mail  root]#passwd  test2

[root@mail  root]#passwd  test3

然后mount一个ext3文件到目录/fs1

[root@mail  root]#mount  -t

ext3  -o  acl  /dev/sda1  /fs1

再将test1  建立的文件设置读写的权限给test2 

[root@mail  root]#chmod  -R  777  /fs1

让所有的用户都能增加文件到目录的权限:

先用test1登录系统,执行命令:

[test1@mail  test1]#  cd  /fs1

  [test1@mail  fs1]

#  echo  "Create  by  test1"  >  test1.txt

  [test1@mail  fs1]

#  chmod  go-r  test1.txt

  [test1@mail  fs1]

#  ll  test1.txt

-rw-------  1  test1  test1  17

Jul  14  22:11  test1.txt

而如下操作则可以让除了test1有读写的权限外其他人没有读写test1.txt的权限(root除外),先用test2  登录系统后执行以下命令:

[test2@mail  test2]#  cd  /fs1

[test2@mail  fs1]#  cat  test1.txt

cat  :  test1.txt  Permission  denied

接着用test1登录系统,执行如下命令:

[test1@mail  fs1]#  setfacl  -m  u:

test2:rw  test1.txt

这样就修改权限允许test2  有这个文件的读写权限。再看一下它的文件属性的变化:

[test1@mail  fs1]#  ll

-rw-rw-r--+  1  test1  test1  10

Feb  16  13:52  test1.txt

会看到后面多了一个“+”,表示这个文件使用ACL的属性设置,再用命令getfacl来看ACL的文件属性设置:

[test1@mail  fs1]

#  getfacl  test1.txt

  #  file:  test1.txt

  #  owner:  test1

  #  group:  test1

  user::rw-

  user:test2:rw-

  group::rw-

  mask::rw-

  other::r--

可以看到test2有权限读写这个文件。我们再用test2登录系统执行以下命令,看看发生了什么?

[test2@mail  test2]

#  cd  /fs1

  [test2@mail  fs1]

#  cat  test1.txt

  Create  by  test1

原来test2可以读取test1.txt文件了。

[test2@mail  fs1]

#  echo  "Modify  by  test2"  >>  test1.txt

  [test2@mail  fs1]

#  cat  test1.txt

  Create  by  test1

  Modify  by  test2

现在test2也可以修改test1.txt文件了。

接着用test3  登录系统:

[test3@mail  test3]

#  cd  /fs1

[test3@mail  fs1]

#  cat  test1.txt

  cat  :  test1.txt  Permission  denied

除了test1test2外没有其他用户有读写test1.txt的权限(root  除外)。

看着虽然有点晕,其实命令就是这么一两条,主要是把各种情况给大家讲清楚,这样,大家在使用Linux中才会发现,比起脆弱的Windows的权限防护,Linux实在是做得相当不错!

红联Linux论坛:

__________________

希望能和你相互交流,愿意和您分享学习、进步中的每分喜悦与快乐

---------------------------------------------

http://tzhsuccess.itpub.net

向版主反映这个帖子   查看tzhsuccess  IP地址

97  旧帖  06-07-17  23:28

[        ]     给予该贴好评    编辑/删除  引用/回复

tzhsuccess

高级会员

注册日期:  2004  Apr

来自:  ?-?子座

技术贴数:7934

论坛积分:31670

论坛排名:67

论坛徽章:23

会员2006贡献徽章  行业板块每日发贴之星  每日论坛发贴之星  ERP板块每日发贴之星    

          

解析Linux特殊文件

Linux下可以用ls  ?l  命令来判断文件类型,如上  图所示。可以依据第一列中的10个字符来判断。

    -rw-r?r?指明了1.txt文件是一个普通文件,1.txtmyprog04文件都是普通文件。以”-“开头的都是普通文件,而以”d”开头的是目录文件。

    brw-rw----  指明了/dev/sda1是一个块设备(Block  Device)文件。以”b”开头的文件都是块设备文件。

    crw-rw----指明了/dev/lp0是一个字符设备(Chartacter  Device)文件,以”c”开头的文件都是字符设备文件。

    srwxrwxrwx  指明了/var/lib/mysql/mysql.sock是一个socket文件。以””开头的文件都是socket文件。

    prwxr?r--指明了了mypipe  是一个管道文件。管道文件的一个属性是”p”

    lrwxrwxrwx  指明了softlinkof1.txt  是一个软链接文件(或称符号链接文件),该文件指向了1.txt。以”l”开头的文件是软链接文件。

    -rw-r?r?开头的hard_link_of_1.txt看上去是个普通文件,但它实际上是一个硬链接文件。

    -rwsr-xr-x指明了myprog01是一个setUid的可执行文件,这是根据第四个字符”s”判断的。

    -rwxr-sr-x指明了myprog03是一个setGid的可执行文件,这是根据第七个字符中的”s”判断的。

    -rwsr-sr-x指明了myprog02是一个setUidsetGid的可执行文件,这是根据第四个和第七个字符中的”s”判断的。

    drwxrwxrwt  中的第一个”d”字指明了tmp文件是一个目录,最后一个字符”t”指明了该目录被设置了粘着位。

一、设备文件

  Linux下的/dev  目录中有大量的设备文件。主要是块设备文件和字符设备文件。

  块设备文件

  在过去,在添加新磁盘后,往往需要手动增加块设备文件。现在通常我们不需要手动增加块设备文件,运行一下service  kudzu  start  ,系统就会自动为您配置相应的设备。块设备的主要特点是可以随机读写,而最常见的块设备就是磁盘,如/dev/hda1  /dev/sda2/dev/fd0等。

  字符设备文件

  同块设备一样,我们一般都可以用service  kudzu  start命令来自动增加、删除或修改字符设备。最常见的字符设备是打印机和终端,他们可以接受字符流。

  /dev/null是一个非常有用的字符设备文件,送入这个设备的所有东西都被忽略。如果将任何程序的输出结果重定向到/dev/null,则看不到任何输出信息。甚至于,您可以将某一用户的shell指向/dev/null 以禁止其登陆。

  管道设备文件

  管道设备文件有时候也被叫做FIFO文件(FIFO是先进先出的意思),从字面上理解,管道设备文件就是从一头流入,从另一头流出。通常我们会在其中做一些工作,以达到我们吃的是草,挤出来的是奶的目的,管道文件也有其妙用。

  以前,Unix系统对文件的最大用量用2GB的限制,虽然现在新版本的LinuxSolarisFreeBSD等不再有此限制,但处理大文件的需求仍然存在,假设您想用镜像(dd命令)的方式来备份一个容量为20GB分区的分区,就会产生一个20GB的文件,根据您磁盘实际的使用状况,这个文件在压缩后可能只有数MB到数GB,我们可以建立一个管道文件来自动实现这个压缩过程。

  [root@linux236  root]#  mknod  mypipe  p

  [root@linux236  root]#  ls  -l  mypipe

  prw-r--r--  1  root  root  0  Aug  5  23:27  mypipe

  [root@linux236  root]#

  在这里,我们建立了一个叫mypipe的管道文件,用ls  -l  命令可以看到它的属性是prw-r--r--,用下面的组合命令实现镜像和压缩:

  [root@linux236  root]#  compress  < mypipe > sda6.img.Z  &

  [root@linux236  root]#  dd  if=/dev/sda6  of=mypipe

  [root@linux236  root]#  ls  sda6.img.Z

  sda6.img.Z

  第一个命令使得从mypipe管道中流出的文件被压缩为sda.img.Z文件,注意这个命令的结尾必须使用"&"符号。第二个命令将/dev/sda6分区中的资料道入管道文件mypipe,换句话说,/dev/sda6分区中的数据进入管道,而压缩文件sda6.img.Z文件从管道中流出。

  在导出OracleDB2等大型数据库时等经常会生成很大的文件,熟练的数据库管理员往往会选择通过管道进行压缩的方式,对于Oracle数据库,我们可以使用下边的组合命令:

 这样,就会将Oracle导出的内容直接压缩成为expdat.dmp.Z文件。

  compress  < mypipe > expdat.dmp.Z  &

  exp  userid=system  file=mypipe  owner=scott

  第二章  链接文件

  链接文件有点类似于Windows  的所谓快捷方式,但并不完全一样。链接有两种方式,软链接和硬链接。

  软链接文件

  软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。链接文件甚至可以链接不存在的文件,这就产生一般称之为"断链"的问题(或曰现象"),链接文件甚至可以循环链接自己。类似于编程语言中的递归。

  [yaoyao@linux236  yaoyao]$  ls  -l

  total  0

  lrwxrwxrwx 1  yaoyao yaoyao  5  Aug  6  17:39  1.txt  ->  3.txt

  lrwxrwxrwx 1  yaoyao yaoyao  5  Aug  6  17:38  2.txt  ->  1.txt

  lrwxrwxrwx 1  yaoyao yaoyao  5  Aug  6  17:39  3.txt  ->  2.txt

  上面的三个文件形成了一个递归,实质上没有任何作用。系统管理员应该避免系统出现断链或循环链接。

  用ln  -s  命令可以生成一个软连接,如下:

  [root@linux236  test]#  ln  -s  source_file  softlink_file

  在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作,但删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。

  硬链接文件

  info  ln  命令告诉您,硬链接是已存在文件的另一个名字(A  "hard  link"  is  another  name  for  an  existing  file),这多少有些令人困惑。硬连接的命令是

  ln  -d  existfile  newfile

  硬链接文件有两个限制

  1、不允许给目录创建硬链接;

  2、只有在同一文件系统中的文件之间才能创建链接。

  对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了愿有的内容。这时,系统就忘记了它曾经是硬链接文件。而把他当成一个普通文件。

三、setUidsetGid文件和带粘着位的目录文件

  在Linux/Unix,有一种可执行文件被setUid,这使得任意使用者在执行该文件时,都绑定了文件拥有者的权限。就好像文件带了一把尚方宝剑一样,setUid文件通常用来提升使用者的权限.最有代表性的su命令.普通用户可以可以执行该命令,使自己升级为rootsetUid命令的用法是:

  chmod  4755  your_program

  setGid  文件和setUid文件非常类似,它使得这使得任意使用者在执行该文件时,都绑定了文件所有组的权限.单独setGid的文件非常少用,通常都是即setUidsetGid。不过和您猜想的可能有点不同。setUid+setGid通常并不是用来提升权限的,而是为了绑定某个特殊用户及其组的特殊权限,例如qmail  的外围软件vpopmail,就使用了一个setUid+setGid的程序vchkpw来校验用户名和密码。这个道理和Apache常常以nobody用户运行一样。其目的是为了更加安全。

  setGid  命令的用法为

  chmod  2755  your_program

  通常使用命令

  chmod  6755  yourprogram

  来使得某可执行程序同时setUidsetGid

  全能的root用户当然可以任意setUidsetGid。但尚方宝剑不能用来假传圣旨,普通用户只能给属于自己的文件配置setUidsetGid。由于setUidsetGid文件会使普通用户提升权限,谨慎的系统管理员通常会留意系统中有setUidsetGid文件的变化。减少安全隐患。

  在Linux下,/tmp是一个存放临时文件的目录,要求是对所有用户可写。但每个用户都只能删除自己拥有的文件。这种情况下,就可以把目录加一个粘着位。

  [root@yaoyao  /]#  ls  -l  |grep  tmp

  drwsrwsrwt  9  root  root  4096  87  10:50  tmp

  注意第是个字符"t",它代表了这个目录被设置了粘着位。

  我们自行建立一个abc的目录,使之具有和/tmp相同的特点

  chmod  777  abc

  chmod  +t  abc

  上述的个两个命令组合等同于下边的一个命令:

  chmod  1777  abc

  用ls  ?l  abc  目录的属性如下:

  [root@yaoyao  test]#  ls  -l

  总用量  4

  drwsrwsrwt  2  root  root  4096  8  7  11:32  abc

  和/tmp目录相同的需求往往在ftp服务器的upload  目录中也存在。可以用相同的方式处理。

四、socket  文件

  socket文件类似于管道,但它是在网络上面工作的。您到计算机就是靠它来做网络处理的。您可能听说过“Winsock”,那是  Windows  的套接口。我们在这里不深入谈有关套接口,因为如果您不写程序,您不会用到它,但如果您看到您系统里有个文件类型是s,您知道它是什么就行了。

  比如说mysql  运行的时候通常会产生一个socket文件。

  [root@yaoyao  tmp]#  ls  -l  /tmp/mysql.sock

  srwxrwxrwx  1  mysql  mysql  08  7  10:03  mysql.sock

  /tmp目录下还有一些socket文件,多半是运行Xwindows的时候产生的。

  五、疑难杂症--删除不掉的文件

  为什么有些文件以讨厌的减号("-")开头做文件名,无论如何都删除不掉,这到底为什么?",您可能听过您临桌的新手这样的叫喊过,希望同样的事情不会发生在您的身上,这个非常容易解决,您只要用带路径的方法就可以把他们删除了,假定一个文件名为"-abc",您可以用:

  rm  ./-abc  或者

  rm  /home/yaoyao/-abc

  命令将其轻松删除,另外您也可以用相同的方式用vi或者其他工具对他们进行修改。

  另一些文件看上去可能一切正常,但当您尝试删除的时候,居然也会报错,就象下边一样:

  [root@linux236  root]#  ls  -l  1.txt

  -rw-r--r--  1  root  root  0  Aug  5  23:00  1.txt

  [root@linux236  root]#  rm  -rf  1.txt

  rm:  cannot  unlink  `1.txt':  Operation  not  permitted

 您是全能root用户,居然系统告诉您操作不允许,是Linux疯了么?当然不是,如果您会用lsattr命令,问题就有了答案。

  [root@linux236  root]#  lsattr

  ---i----------  ./1.txt

  --------------  ./weiqi.ldif

  --------------  ./qi.schema

  秘密终于暴露了,在lsattr命令下,这个1.txt文件带有一个"i"的属性,所以才不可以删除。您现在可以用下边的一系列命令:

  [root@linux236  root]#  lsattr  1.txt

  ---i----------  1.txt

  [root@linux236  root]#  chattr  -i  1.txt

  [root@linux236  root]#  rm  -rf  1.txt

  [root@linux236  root]#

  成功了,这个属性专门用来保护重要的文件不被删除,通常的情况下,懂得用这几个命令的通常系统管理员有能力判断这个文件是否可以被删除。  如果您想给一个文件多加点保护,可以使用下边的命令:

  chattr  +i  filename

  命令,这样一来,想要删除这个文件就要多一个步骤。同时,这样的文件也是不可以编辑和修改的。只有root用户才能使用chattr命令。此命令可以在Linux  ext2ext3系统上使用。

  类似于DosWindows文件系统,不能随意删除的文件多半都有其道理,即使您知道如何删除,都应该三思而后行。

  总结

  Linux/Unix系统管理是个复杂的工作,掌握和理解Linux/Unix文件类型是必备的基础之一。学习Linux/Unix没有捷径,必需通过大量的实践和努力学习。

红联Linux论坛:

__________________

希望能和你相互交流,愿意和您分享学习、进步中的每分喜悦与快乐

---------------------------------------------

http://tzhsuccess.itpub.net

向版主反映这个帖子   查看tzhsuccess  IP地址

98  旧帖  06-07-17  23:28

[        ]     给予该贴好评    编辑/删除  引用/回复

tzhsuccess

高级会员

注册日期:  2004  Apr

来自:  ?-?子座

技术贴数:7934

论坛积分:31670

论坛排名:67

论坛徽章:23

会员2006贡献徽章  行业板块每日发贴之星  每日论坛发贴之星  ERP板块每日发贴之星     

          

精打细算用Linux

序言

所有的操作系统都要求"给我更多!"--  它们要求更多的磁盘空间,更多的内存,很

高的cpu工作频率--令人欣慰的是拯救我们这些没有最新硬件的人的救世主出现了,是的

,我说的是Linux

虽然Linux作为网络操作系统很出色,但实际上,作为单用户的操作系统,工作在未

连网的家庭PC上,它也是非常不错的。

考虑到这种情况,你有很多方法可以从你的系统中挤出更多的资源,甚至在一台象

仅有8M内存的486这样的老机器上也可以。

现在请记住你需要以  root  身份登录到系统来做下面的所有事情,我们的目的将有

两个分支:使内存的使用量最小,和节省磁盘空间。

节省内存!

重新编译内核

内核在没有安装到你的机器里以前就已经被编译好了,但是它是一个带有所有功能

的内核,把每样东西都编译了进去。这就意味着它比你要专用的大。如果你从内核源代

码编译一个你自己的内核的话,它会比缺省的vmlinuz的内核小100kB以上。此外,这还

有助于你了解如何编译内核。实际上,这十分简单。你要首先设置,就是说你的内核里

都需要什么功能。然后编译它就行了。

Linux已经发展到了一个很高的阶段,以至于它内核的设置可以是图形化的。内核的

源代码通常在这里:/usr/src/linux。要运行图形界面的设置程序,执行这个命令  mak

e  menuconfig  (这个是基于文本菜单的),或者执行  make  xconfig  (这个是在X中的

图形界面),你将会看到一个很长的设置选项列表,在做选择以前,建议你仔细看看每

一项所带的帮助提示。这些提示总是会给出合理的建议,你应该遵循它。如此,你将会

确切的得到那些你需要编译进你的内核的东西,而不包含其他。我也建议你读一读源码

路径下的README文件。一旦你设置好了,退出X(如果你运行了它),在文本模式下编译

它,这样做没有笨重的X运行可以有更多的内存可用,编译起来快一些。

执行  make  dep  ;  make  zImage  ,然后去喝杯咖啡,做完这些,README文件会很通

俗的解释你应如何使用这个新内核,我不再赘述。

停止某些服务!

Linux系统运行的时候,通常会有很多后台作业在运行,这些作业都是有特殊功能

的,它们叫做deamon。例如  sendmail,是邮件的daemon,它处理所有邮件的发送和邮件

递送安排。有许多这样的daemon在系统启动的时候开始运行,系统中有几个runlevel

它们是一些启动和停止的服务的组合。例如,在通常的Linux系统的runlevel  1上,(这

是单用户模式),就会明显地比多用户模式的runlevel  3需要较少的服务。

缺省情况下,Linux  启动进入  runlevel  3。现在它会启动很多服务在这个runleve

l上,它们中的一些对未连网的家庭PC来说没用。例如,你显然不想运行sendmail来浪费

宝贵的内存。是的,它可以把邮件在root@localhostsomeuser@localhost两个本地用

户间发来发去,但是这会消耗系统资源,而且没有丝毫用处。

如何从一个runlevel里删去一项服务

RedHat里,这非常简单。系统管理是RedHat比其他发布强的地方。在以root登录

以后,启动X,然后在一个  xterm  里启动  tksysv  ,这是一个图形界面的runlevel编辑

器。

你可以看到六个列,每个runlevel占一个。现在我们仅注意runlevel3就可以了,就

是系统通常启动进入的那个runlevel。每个列都有两部分,上面的是系统启动时开始执

行的服务,下面的是在系统shutdown时停止的服务。你要做的就是选择你想删去的项,

然后按del,就是这样,另外记得在你退出以前保存你的修改。

哪些服务要留下,哪些要删去

事实上,告诉你留哪些很简单。记住,所有的这些办法都是在runlevel  3上有效。

这是几条要点:

kerneld  -  如果没有它的话,那什么都工作不起来了!

syslog  -  必须保留,来记录log信息。这些log在万一系统出现错误的时候,可以帮助你

看看系统哪里出错了(实际上,在Linux系统里什么错误都不会出现)

keytable  -  如果你还想使用键盘的话就得留下这个!

rc.local  -  这是那些日常的工作启动的地方,在所有其他的服务都启动以后执行

你仅仅需要上面的4项服务,没有它们,就象有人说的,"  一切都歇菜了"

你可能想保留的服务

下面是一些要不要两可的服务,一些你可能想要保留的无关紧要的服务。你可能需

要它们,或者喜欢它们。

crond  -  它周期性的运行一些日常的作业,最重要的事情就是确保你的log文件不会太大

。你可以在你需要的时候来运行它。

atd  -  如果你想要使用  at  ,你就需要这个deamon,也就是说,作业按你指定的时间来

执行,在一个多用户的24小时都不停机的大系统中,人们通常使用它来指定在晚上运行

一些非常繁重的计算任务。但是在简单的家用机器上,一般不怎么使用,毕竟你是使用

它的唯一的人。

gpm  -  它可以让你在文本模式下使用鼠标,它仅在你工作在文本模式下的时候才有用,

而当你工作在X下的时候就是一种浪费。

节省磁盘空间

事实上,这里你没有什么可做的,除了删掉一些你不想要的包。RedHat有一个极好

的,很容易使用的包管理系统,它会记录你硬盘上的几乎所有的非用户文件。每个安装

到你的系统里的文件都是这些包的一部分,这些包能够被反安装。

如何删除一个包

x中以命令行来运行  "  glint  ",这是一个图形界面的RedHat包管理系统,你会得

到一个图形界面显示你的系统中安装的所有的包。这些包被分类,并以目录列表的形式

显示出来。要删掉一个包,选择它,然后按一下右面的"uninstall"按钮就可以了。

我应该删掉哪些包?

请注意,有一些要紧的包是不应该被删除的。在glint里,通常比较可取的做法是不

要动  base    library  的包,除非你确切的知道你到底在做什么。

其他的,看看它们的描述(点  query  按钮)。如果你很久都没有使用一个包的话,

或者预计以后也不会用它,那么删掉它通常是安全的。万一删掉一个包会影响其他的包

的话,glint会告诉你。它很安全。如果你误删了一个一个包,你总能从光盘上重新安装

它的。

结尾

这些仅是你可以试试的建议。Linux你用的越多,尝试的越多,你就会从你的系统中

挤出更多的资源。

红联Linux论坛:

__________________

希望能和你相互交流,愿意和您分享学习、进步中的每分喜悦与快乐

---------------------------------------------

http://tzhsuccess.itpub.net

向版主反映这个帖子   查看tzhsuccess  IP地址

99  旧帖  06-07-17  23:29

[        ]     给予该贴好评    编辑/删除  引用/回复

tzhsuccess

高级会员

注册日期:  2004  Apr

来自:  ?-?子座

技术贴数:7934

论坛积分:31670

论坛排名:67

论坛徽章:23

会员2006贡献徽章  行业板块每日发贴之星  每日论坛发贴之星  ERP板块每日发贴之星    

          

理解Linux系统的日志

摘要

  日志对于安全来说,非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有:审计和监测。他还可以实时的监测系统状态,监测和追踪侵入者等等。

  1.  日志简介

  日志对于安全来说,非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有:审计和监测。他还可以实时的监测系统状态,监测和追踪侵入者等等。

  在Linux系统中,有三个主要的日志子系统:

  连接时间日志由多个程序执行,把纪录写入到/var/log/wtmp/var/run/utmplogin等程序更新wtmputmp文件,使系统管理员能够跟踪谁在何时登录到系统。

  进程统计由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacctacct)中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。

  错误日志由syslogd8)执行。各种系统守护进程、用户程序和内核通过syslog3)向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。像HTTPFTP这样提供网络服务的服务器也保持详细的日志。

  常用的日志文件如下:

  access-log  纪录HTTP/web的传输

  acct/pacct  纪录用户命令

  aculog  纪录MODEM的活动

  btmp  纪录失败的纪录

  lastlog  纪录最近几次成功登录的事件和最后一次不成功的登录

  messages  syslog中记录信息(有的链接到syslog文件)

  sudolog  纪录使用sudo发出的命令

  sulog  纪录使用su命令的使用

  syslog  syslog中记录信息(通常链接到messages文件)

  utmp  纪录当前登录的每个用户

  wtmp  一个用户每次登录进入和退出时间的永久纪录

  xferlog  纪录FTP会话

  utmpwtmplastlog日志文件是多数重用UNIX日志子系统的关键保持用户登录进入和退出的纪录。有关当前登录用户的信息记录在文件utmp中;登录进入和退出纪录在文件wtmp中;最后一次登录文件可以用lastlog命令察看。数据交换、关机和重起也记录在wtmp文件中。所有的纪录都包含时间戳。这些文件(lastlog通常不大)在具有大量用户的系统中增长十分迅速。例如wtmp文件可以无限增长,除非定期截取。许多系统以一天或者一周为单位把wtmp配置成循环使用。它通常由cron运行的脚本来修改。这些脚本重新命名并循环使用wtmp文件。通常,wtmp在第一天结束后命名为wtmp.1;第二天后wtmp.1变为wtmp.2等等,直到wtmp.7

  每次有一个用户登录时,login程序在文件lastlog中察看用户的UID。如果找到了,则把用户上次登录、退出时间和主机名写到标准输出中,然后login程序在lastlog中纪录新的登录时间。在新的lastlog纪录写入后,  utmp文件打开并插入用户的utmp纪录。该纪录一直用到用户登录退出时删除。utmp文件被各种命令文件使用,包括whowusers  finger

  下一步,login程序打开文件wtmp附加用户的utmp纪录。当用户登录退出时,具有更新时间戳的同一utmp纪录附加到文件中。wtmp文件被程序lastac使用。

  2.  具体命令

  wtmputmp文件都是二进制文件,他们不能被诸如tail命令剪贴或合并(使用cat命令)。用户需要使用whowuserslastac来使用这两个文件包含的信息。

  whowho命令查询utmp文件并报告当前登录的每个用户。Who的缺省输出包括用户名、终端类型、登录日期及远程主机。例如:who(回车)显示

chyang  pts/0  Aug  18  15:06

ynguo  pts/2  Aug  18  15:32

ynguo  pts/3  Aug  18  13:55

lewis  pts/4  Aug  18  13:35

ynguo  pts/7  Aug  18  14:12

ylou  pts/8  Aug  18  14:15

  如果指明了wtmp文件名,则who命令查询所有以前的纪录。命令who  /var/log/wtmp将报告自从wtmp文件创建或删改以来的每一次登录。

  ww命令查询utmp文件并显示当前系统中每个用户和它所运行的进程信息。例如:w(回车)显示:3:36pm  up  1  day,  22:34,  6  users,  load  average:  0.23,  0.29,  0.27

USER  TTY  FROM  LOGIN@  IDLE  JCPU  PCPU  WHAT

chyang  pts/0  202.38.68.242  3:06pm  2:04  0.08s  0.04s  -bash

ynguo  pts/2  202.38.79.47  3:32pm  0.00s  0.14s  0.05s  w

lewis  pts/3  202.38.64.233  1:55pm  30:39  0.27s  0.22s  -bash

lewis  pts/4  202.38.64.233  1:35pm  6.00s  4.03s  0.01s  sh  /home/users/

ynguo  pts/7  simba.nic.ustc.e  2:12pm  0.00s  0.47s  0.24s  telnet  mail

ylou  pts/8  202.38.64.235  2:15pm  1:09m  0.10s  0.04s  -bash

  usersusers用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数。例如:users(回车)显示:chyang  lewis  lewis  ylou  ynguo  ynguo

  lastlast命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户。例如:

chyang  pts/9  202.38.68.242  Tue  Aug  1  08:34  -  11:23  (02:49)

cfan  pts/6  202.38.64.224  Tue  Aug  1  08:33  -  08:48  (00:14)

chyang  pts/4  202.38.68.242  Tue  Aug  1  08:32  -  12:13  (03:40)

lewis  pts/3  202.38.64.233  Tue  Aug  1  08:06  -  11:09  (03:03)

lewis  pts/2  202.38.64.233  Tue  Aug  1  07:56  -  11:09  (03:12)

  如果指明了用户,那么last只报告该用户的近期活动,例如:last  ynguo(回车)显示:

ynguo  pts/4  simba.nic.ustc.e  Fri  Aug  4  16:50  -  08:20  (15:30)

ynguo  pts/4  simba.nic.ustc.e  Thu  Aug  3  23:55  -  04:40  (04:44)

ynguo  pts/11  simba.nic.ustc.e  Thu  Aug  3  20:45  -  22:02  (01:16)

ynguo  pts/0  simba.nic.ustc.e  Thu  Aug  3  03:17  -  05:42  (02:25)

ynguo  pts/0  simba.nic.ustc.e  Wed  Aug  2  01:04  -  03:16  1+02:12)

ynguo  pts/0  simba.nic.ustc.e  Wed  Aug  2  00:43  -  00:54  (00:11)

ynguo  pts/9  simba.nic.ustc.e  Thu  Aug  1  20:30  -  21:26  (00:55)

  acac命令根据当前的/var/log/wtmp文件中的登录进入和退出来报告用户连结的时间(小时),如果不使用标志,则报告总的时间。例如:ac(回车)显示:total  5177.47

  ac  -d(回车)显示每天的总的连结时间

Aug  12  total  261.87

Aug  13  total  351.39

Aug  14  total  396.09

Aug  15  total  462.63

Aug  16  total  270.45

Aug  17  total  104.29

Today  total  179.02

  ac  -p  (回车)显示每个用户的总的连接时间

ynguo  193.23

yucao  3.35

rong  133.40

hdai  10.52

zjzhu  52.87

zqzhou  13.14

liangliu  24.34

total  5178.24

  lastloglastlog文件在每次有用户登录时被查询。可以使用  lastlog命令来检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log/lastlog的内容。它根据UID排序显示登录名、端口号(tty)和上次登录时间。如果一个用户从未登录过,lastlog显示"**Never  logged**。注意需要以root运行该命令,例如:

rong  5  202.38.64.187  Fri  Aug  18  15:57:01  +0800  2000

dbb  **Never  logged  in**

xinchen  **Never  logged  in**

pb9511  **Never  logged  in**

xchen  0  202.38.64.190  Sun  Aug  13  10:01:22  +0800  2000

  另外,可一加一些参数,例如,last  -u  102将报告UID102的用户;last  -t  7表示限制上一周的报告。

  3.  进程统计

  UNIX可以跟踪每个用户运行的每条命令,如果想知道昨晚弄乱了哪些重要的文件,进程统计子系统可以告诉你。它对还跟踪一个侵入者有帮助。与连接时间日志不同,进程统计子系统缺省不激活,它必须启动。在Linux系统中启动进程统计使用  accton命令,必须用root身份来运行。Accton命令的形式accton  filefile必须先存在。先使用touch命令来创建  pacct文件:touch  /var/log/pacct,然后运行accton  accton  /var/log/pacct。一旦accton被激活,就可以使用lastcomm命令监测系统中任何时候执行的命令。若要关闭统计,可以使用不带任何参数的accton命令。

  lastcomm命令报告以前执行的文件。不带参数时,lastcomm命令显示当前统计文件生命周期内纪录的所有命令的有关信息。包括命令名、用户、tty、命令花费的CPU时间和一个时间戳。如果系统有许多用户,输入则可能很长。下面的例子:

crond  F  root  ??  0.00  secs  Sun  Aug  20  00:16

promisc_check.s  S  root  ??  0.04  secs  Sun  Aug  20  00:16

promisc_check  root  ??  0.01  secs  Sun  Aug  20  00:16

grep  root  ??  0.02  secs  Sun  Aug  20  00:16

tail  root  ??  0.01  secs  Sun  Aug  20  00:16

sh  root  ??  0.01  secs  Sun  Aug  20  00:15

ping  S  root  ??  0.01  secs  Sun  Aug  20  00:15

ping6.pl  F  root  ??  0.01  secs  Sun  Aug  20  00:15

sh  root  ??  0.01  secs  Sun  Aug  20  00:15

ping  S  root  ??  0.02  secs  Sun  Aug  20  00:15

ping6.pl  F  root  ??  0.02  secs  Sun  Aug  20  00:15

sh  root  ??  0.02  secs  Sun  Aug  20  00:15

ping  S  root  ??  0.00  secs  Sun  Aug  20  00:15

ping6.pl  F  root  ??  0.01  secs  Sun  Aug  20  00:15

sh  root  ??  0.01  secs  Sun  Aug  20  00:15

ping  S  root  ??  0.01  secs  Sun  Aug  20  00:15

sh  root  ??  0.02  secs  Sun  Aug  20  00:15

ping  S  root  ??  1.34  secs  Sun  Aug  20  00:15

locate  root  ttyp0  1.34  secs  Sun  Aug  20  00:15

accton  S  root  ttyp0  0.00  secs  Sun  Aug  20  00:15

  进程统计的一个问题是pacct文件可能增长的十分迅速。这时需要交互式的或经过  cron机制运行sa命令来保持日志数据在系统控制内。sa命令报告、清理并维护进程统计文件。它能把/var/log/pacct中的信息压缩到摘要文件/var/log/savacct/var/log/usracct中。这些摘要包含按命令名和用户名分类的系统统计数据。sa缺省情况下先读它们,然后读pacct文件,使报告能包含所有的可用信息。sa的输出有下面一些标记项:

  avio每次执行的平均I/O操作次数

  cp用户和系统时间总和,以分钟计

  cpucp一样

  k内核使用的平均CPU时间,以1k为单位

  k*secCPU存储完整性,以1k-core

  re实时时间,以分钟计

  s系统时间,以分钟计

  tioI/O操作的总数

  u用户时间,以分钟计

  例如:

842  173.26re  4.30cp  0avio  358k

2  10.98re  4.06cp  0avio  299k  find

9  24.80re  0.05cp  0avio  291k  ***other

105  30.44re  0.03cp  0avio  302k  ping

104  30.55re  0.03cp  0avio  394k  sh

162  0.11re  0.03cp  0avio  413k  security.sh*

154  0.03re  0.02cp  0avio  273k  ls

56  31.61re  0.02cp  0avio  823k  ping6.pl*

2  3.23re  0.02cp  0avio  822k  ping6.pl

35  0.02re  0.01cp  0avio  257k  md5sum

97  0.02re  0.01cp  0avio  263k  initlog

12  0.19re  0.01cp  0avio  399k  promisc_check.s

15  0.09re  0.00cp  0avio  288k  grep

11  0.08re  0.00cp  0avio  332k  awk

  用户还可以根据用户而不是命令来提供一个摘要报告。例如sa  -m显示如下:

885  173.28re  4.31cp  0avk

root  879  173.23re  4.31cp  0avk

alias  3  0.05re  0.00cp  0avk

qmailp  3  0.01re  0.00cp  0avk

  4.  Syslog设备

  Syslog已被许多日志函数采纳,它用在许多保护措施中任何程序都可以通过syslog  纪录事件。Syslog可以纪录系统事件,可以写到一个文件或设备中,或给用户发送一个信息。它能纪录本地事件或通过网络纪录另一个主机上的事件。

  Syslog设备依据两个重要的文件:/etc/syslogd(守护进程)和  /etc/syslog.conf配置文件,习惯上,多数syslog信息被写到/var/adm/var/log目录下的信息文件中(messages.*)。一个典型的syslog纪录包括生成程序的名字和一个文本信息。它还包括一个设备和一个优先级范围(但不在日之中出现)。

  每个syslog消息被赋予下面的主要设备之一:

  LOG_AUTH认证系统:loginsugetty

  LOG_AUTHPRIVLOG_AUTH,但只登录到所选择的单个用户可读的文件中

  LOG_CRONcron守护进程

  LOG_DAEMON其他系统守护进程,如routed

  LOG_FTP文件传输协议:ftpdtftpd

  LOG_KERN内核产生的消息

  LOG_LPR系统打印机缓冲池:lprlpd

  LOG_MAIL电子邮件系统

  LOG_NEWS网络新闻系统

  LOG_SYSLOGsyslogd8)产生的内部消息

  LOG_USER随机用户进程产生的消息

  LOG_UUCPUUCP子系统

  LOG_LOCAL0~LOG_LOCAL7为本地使用保留

  Syslog为每个事件赋予几个不同的优先级:

  LOG_EMERG紧急情况

  LOG_ALERT应该被立即改正的问题,如系统数据库破坏

  LOG_CRIT重要情况,如硬盘错误

  LOG_ERR错误

  LOG_WARNING警告信息

  LOG_NOTICE不是错误情况,但是可能需要处理

  LOG_INFO情报信息

  LOG_DEBUG包含情报的信息,通常旨在调试一个程序时使用

  syslog.conf文件指明syslogd程序纪录日志的行为,该程序在启动时查询配置文件。该文件由不同程序或消息分类的单个条目组成,每个占一行。对每类消息提供一个选择域和一个动作域。这些域由tab隔开:选择域指明消息的类型和优先级;动作域指明syslogd接收到一个与选择标准相匹配的消息时所执行的动作。每个选项是由设备和优先级组成。当指明一个优先级时,  syslogd将纪录一个拥有相同或更高优先级的消息。所以如果指明"crit",那所有标为critalertemerg的消息将被纪录。每行的行动域指明当选择域选择了一个给定消息后应该把他发送到哪儿。例如,如果想把所有邮件消息纪录到一个文件中,如下:

#Log  all  the  mail  messages  in  one  place

mail.*  /var/log/maillog

  其他设备也有自己的日志。UUCPnews设备能产生许多外部消息。它把这些消息存到自己的日志(/var/log/spooler)中并把级别限为"err"或更高。例如:

#  Save  mail  and  news  errors  of  level  err  and  higher  in  aspecial  file.

uucp,news.crit  /var/log/spooler

  当一个紧急消息到来时,可能想让所有的用户都得到。也可能想让自己的日志接收并保存。

#Everybody  gets  emergency  messages  plus  log  them  on  anther  machine

*.emerg  *

*.emerg  @linuxaid.com.cn

  alert消息应该写到roottiger的个人账号中:

#Root  and  Tiger  get  alert  and  higher  messages

*.alert  root,tiger

  有时syslogd将产生大量的消息。例如内核("kern"设备)可能很冗长。用户可能想把内核消息纪录到/dev/console中。下面的例子表明内核日志纪录被注释掉了:

#Log  all  kernel  messages  to  the  console

#Logging  much  else  clutters  up  the  screen

#kern.*  /dev/console

  用户可以在一行中指明所有的设备。下面的例子把info或更高级别的消息送到/var/log/messages,除了mail以外。级别"none"禁止一个设备:

#Log  anythingexcept  mailof  level  info  or  higher

#Dont  log  private  authentication  messages!

*.info:mail.none;authpriv.none  /var/log/messages

  在有些情况下,可以把日志送到打印机,这样网络入侵者怎么修改日志都没有用了。通常要广泛纪录日志。Syslog设备是一个攻击者的显著目标。一个为其他主机维护日志的系统对于防范服务器攻击特别脆弱,因此要特别注意。

  有个小命令loggersyslog3)系统日志文件提供一个shell命令接口,使用户能创建日志文件中的条目。用法:logger  例如:logger  This  is  a  test

  它将产生一个如下的syslog纪录:Aug  19  22:22:34  tiger:  This  is  a  test!

  注意不要完全相信日志,因为攻击者很容易修改它的。

  5.  程序日志

  许多程序通过维护日志来反映系统的安全状态。su命令允许用户获得另一个用户的权限,所以它的安全很重要,它的文件为sulog。同样的还有sudolog。另外,想Apache有两个日志:access_logerror_log

  6.  其他日志工具

chklastlog

ftp://coast.cs.purdue.edu/pub/tools/unix/chklastlog/

chkwtmp

ftp://coast.cs.purdue.edu/pub/tools/unix/chkwtmp/

dump_lastlog

ftp://coast.cs.purdue.edu/pub/tools/unix/dump_lastlog.Z

spar

ftp://coast.cs.purdue.edu/pub/tools/unix/TAMU/

Swatch

Zap

ftp://caost.cs.purdue.edu/pub/tools/unix/zap.tar.gz

日志分类方法

 

红联Linux论坛:

 

阅读(1584) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~