Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1527470
  • 博文数量: 329
  • 博客积分: 2773
  • 博客等级: 少校
  • 技术积分: 4219
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 14:17
个人简介

淡定从容,宁静致远

文章分类

全部博文(329)

文章存档

2016年(4)

2015年(50)

2014年(68)

2013年(45)

2012年(162)

分类: LINUX

2012-12-16 08:46:16

磁盘:

硬盘,光盘,U

 

磁盘的主要组成结构:

1、圆形的磁盘

2、机械手臂

3、主轴马达

类型:

串口:sd

并口:hd

查看:

# ls /dev/sd?*

为什么要分区?

便于存储,管理和使用方便。

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

MBR硬盘

最大支持2T 

分区数量的限制:

<=4个主分区

MBR 446+64+2

64 (分区表)

硬盘分区有三种,主磁盘分区、扩展磁盘分区、逻辑分区。

一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个。且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个。  

分出主分区后,其余的部分可以分成扩展分区,一般是剩下的部分全部分成扩展分区,也可以不全分,那剩的部分就浪费了。   

扩展分区是不能直接用的,他是以逻辑分区的方式来使用的,所以说扩展分区可分成若干逻辑分区。他们的关系是包含的关系,所有的逻辑分区都是扩展分区的一部分。

一个主分区占用16字节

一个扩展分区也占用16字节

逻辑分区必须在扩展分区之内创建

并口设备IDE: 63个   /dev/hd[ab][cd]

串口设备 SATA,SCSI: 15个   /dev/sd[a,b,c,…….]

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

GPT硬盘

全局唯一标识分区表(GUID Partition Table)GUID,全局唯一标识符 (Globally Unique Identifier) 

MBR最大4个分区表项的限制相比,GPT对分区数量没有限制,但Windows最大仅支持128GPT分区。

GPT可管理硬盘大小达到了18EB(1EB=1024PB=1,048,576TB),不过NTFS格式最大仅支持256TB

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

针对 MBR 硬盘  使用fdisk

第一个分区的命令:fdisk

fdisk -l  磁盘的逻辑组成和查看分区情况

逻辑组成:

1、磁道:磁头划过的圆形轨迹 track

2、扇区:磁道被等分为若干个弧段,这些弧段就是扇区 sector

3、柱面:硬盘的每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,就是柱面。 cylinder

fdisk /dev/sda

m  帮助

n  添加一个新的分区

d  删除一个分区

p  打印分区表

w  保存退出

q  退出

a  给分区加上启动标识

t  更改分区类型

l  分区类型列表

  WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.

  The kernel still uses the old table.

  The new table will be used at the next reboot.

  Syncing disks.

partprobe  系统重新读取分区表

# partprobe

# partprobe /dev/sda

[root@localhost ~]# partprobe /dev/sdacd 

[root@localhost ~]# mkfs.ext3  or  mke2fs j   (rhel6   mkfs.ext4)

磁盘挂载与卸载

Mount 挂载是指将一个设备(通常是存储设备)挂接到一个已经存在的目录上。然后通过访问这个目录来访问存储设备。

这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。

Linux操作系统将所有的设备都看作文件,它将整个计算机中的资源整合成一个大的文件目录。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已经存在的目录上,然后通过访问这个目录来访问存储设备。

# mount -a

# mount [-l]

# mount [-t 文件系统] [-o 额外选项   设备文件名  挂载点

选项与参数:

-a  :依照配置文件  的数据将所有未挂载的磁盘都挂载上来

-l  :单纯的输入 mount 会显示目前挂载的信息。加上 -l 可增列 Label 名称!

-t  :与  的选项非常类似的,可以加上文件系统种类来指定欲挂载的类型。

      常见的 Linux 支持类型有:ext2, ext3, vfat, reiserfs, iso9660(光盘格式),

      nfs, cifs, smbfs(此三种为网络文件系统类型)

-o  :后面可以接一些挂载时额外加上的参数!比方说账号、密码、读写权限等:

      ro, rw:       挂载文件系统成为只读(ro) 或可擦写(rw)

      async, sync:  此文件系统是否使用同步写入 (sync) 或异步 (async) 

                    内存机制,请参考。默认为 async

      suid, nosuid: 是否允许此 partition 含有 suid/sgid 的文件格式?

      exec, noexec: 是否允许此 partition 上拥有可运行 binary 文件?

      user, nouser: 是否允许此 partition 让任何使用者运行 mount ?一般来说,

                    mount 仅有 root 可以进行,但下达 user 参数,则可让

                    一般 user 也能够对此 partition 进行 mount 

      defaults:     默认值为:rw, suid, dev, exec, auto, nouser, and async

      remount:      重新挂载,这在系统出错,或重新升级参数时,很有用!

       loop:         回环方式挂载,比如光盘镜像文件

# umount 设备文件名或挂载点

/etc/fstab   开机自动挂载配置文件

/dev/hda1               /mnt/a                  ext3    defaults        0 0

1. 存储设备文件名或该装置的label rhel6 UUID  blkid 算出)

2. 挂载点

3. 文件系统

4. 文件系统参数

5. 是否要转储            当代已经退化,不使用

6. 是否要做开机检测      该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0

分区步骤

1、

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

* 在根目录下创建一个目录叫newp

#mkdir /newp

* 在newp目录内创建三个目录p1 p2 p3

#cd /newp

#mkdir p1 p2 p3

* 创建一个500M的分区,文件系统类型ext3,挂载到newp目录上。

#fdisk /dev/sda

  n --->  ---> +500M ---> w

#partprobe /dev/sda

#mkfs.ext3 /dev/sda6

#mount /dev/sda6 /newp

* 创建一个1G的分区,文件系统类型ext3,挂载到newp/p1目录上。

#fdisk /dev/sda

n --->  ---> +1G ---> w

#partprobe /dev/sda

#mkfs.ext3 /dev/sda7

#cd /newp

#mkdir p1 p2 p3

#mount /dev/sda7 /newp/p1

* 创建一个2G的分区,文件系统类型ext3,挂载到newp/p2目录上。

#fdisk /dev/sda

n --->  ---> +2G ---> w

#partprobe /dev/sda

#mkfs.ext3 /dev/sda8

#mount /dev/sda8 /newp/p2

* 使用mountdf命令测试是否挂载成功,并向每一个目录内拷贝/etc/inittab文件一份。

* 重启你的系统,测试这几个新创建的分区是否还被挂载。

在虚拟机上添加一块ide硬盘

Disk /dev/hda: 21.4 GB, 21474836480 bytes

15 heads, 63 sectors/track, 44384 cylinders

Units = cylinders of 945 * 512 = 483840 bytes

基于刚刚添加的hda做如下操作

* 创建第一个分区 大小100M 主分区

* 创建第二个分区 到校200M 主分区

* 创建第三个分区 到校300M 主分区

* 创建第四个分区 把所有剩余空间都交给这个分区,分区类型扩展分区

* 创建第五个分区 1G ----- 逻辑分区

* 在/mnt目录内创建a,/dev/hda1 挂载到a目录。

* 在a目录内创建b,将/dev/hda2挂载到b目录内。

* 在b目录内创建c,将/dev/hda3挂载到c目录内。

* 在c目录内创建d,将/dev/hda5挂载到d目录内。

* 保证开机自动挂载

vi /etc/fstab

/dev/hda1               /mnt/a                  ext3    defaults        0 0

/dev/hda2               /mnt/a/b                ext3    defaults        0 0

/dev/hda3               /mnt/a/b/c              ext3    defaults        0 0

/dev/hda5               /mnt/a/b/c/d            ext3    defaults        0 0

练习

1、添加一个并口磁盘,磁盘大小为10G

2、在根目录下创建一个目录为backup

3、在新添加的磁盘上只创建一个分区将所有空间都分给这个分区,将其挂载到backup目录上。

4、在backup目录内创建3个目录,impsimoth

5、在linux系统所在磁盘上创建3个分区,每个分区大小均为1G,2G,3G,并分别挂载到impsimoth上。

6、有四个用户candanuplookingsinghmanager

7candanimp目录的所有者并对imp有完全控制权限,web组所有成员对该目录有完全控制权限。

8uplookingsim目录的所有者并对sim有完全控制权限,sales组所有成员对该目录有完全控制权限。

9singhoth目录的所有者并对oth有完全控制权限,market组所有成员对该目录有完全控制权限。

10manager用户可以完全控制impsimoth3个目录。

11、用户u1,u2可以在imp目录内创建并删除文件

12、用户u3,u4可以在sim目录内创建并删除文件

13、用户u5,u6可以在oth目录内创建并删除文件

14u7用户对impsimoth三个目录没有任何权限。

15backup目录内添加一个额外的目录good

16good目录内有一个文件,u1只能读,u2只能写,u7不能读也不能写,但是能删除该文件

17、所有操作在重启后在非人工干预的情况下均生效

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

文件系统:文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。

EXT2/EXT3 结构图 

 

· superblock:记录此 filesystem 的整体信息,包括inode/block的总量、使用量、剩余量, 以及文件系统的格式与相关信息等;

· inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的 block 号码;

· block:实际记录文件的内容,若文件太大时,会占用多个 block 

· Filesystem Description (文件系统描述说明)

· block bitmap (区块对照表)

· inode bitmap (inode 对照表)

   

ext2 文件系统存储方式

 

inode

#  ls –ldi  目录

#  ls –li  文件

练习

如果想读取 /etc/passwd 文件,系统是怎么读取的?

# ls -ldi  /   /etc   /etc/passwd      //用长格式加上i节点 查看三个文件

      2 drwxr-xr-x 29 root root  4096 May 23 22:17 

2333953 drwxr-xr-x 97 root root 12288 May 23 21:44 

2335914 -rw-r--r--  1 root root  1981 May 23 14:02

 

日志式文件系统 (Journaling filesystem) ext3ext2多日志功能

1. 预备:当系统要写入一个文件时,会先在日志记录区块中纪录某个文件准备要写入的信息;

2. 实际写入:开始写入文件的权限与数据;开始升级 metadata(元数据) 的数据;

结束:完成数据与 metadata 的升级后,在日志记录区块当中完成该文件的纪录。

文件系统的简单操作

查看磁盘与目录的容量

df  列出文件系统的整体磁盘使用量;

df [-hiT] [目录或设备名]

选项:

-h  :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

-T  :连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;

-i  :不用硬盘容量,而以 inode 的数量来显示

du:评估文件系统的磁盘使用量(常用在推估目录所占容量)

[root@www ~]# du [-hs] 文件或目录名称

选项:

-h  :以人们较易读的容量格式 (G/M) 显示;

-s  :列出总量而已,而不列出每个各别的目录占用容量;

硬链接与软连接(符号链接)

ln [-s] 来源文件 目标文件

选项与参数:

-s  :如果不加任何参数就进行连结,那就是hard link,至于 -s 就是symbolic link(符号链接)

硬链接  Hard Link

ln /etc/inittab()   /root/inittab

# ls –li  /etc/inittab  /root/inittab       //用长格式加上i节点 查看两个文件       

2334741 -rw-r--r-- 2 root root 1666 Aug 18  2011 /etc/inittab

2334741 -rw-r--r-- 2 root root 1666 Aug 18  2011 /root/inittab

限制:

不能跨 文件系统(分区);  因为每个分区都给 inode 编号 

不能 link 目录。  (硬性规定) 可能陷入无限循环

 

符号链接 ,软连接 Symbolic Link

# ln -s /etc/inittab  /home/inittab            都使用绝对路径

#ls -li /etc/inittab  /home/inittab           //用长格式加上i节点 查看两个文件

2334741 -rw-r--r-- 2 root root 1666 Aug 18  2011 /etc/inittab

16 lrwxrwxrwx 1 root root   12 May 24 00:44 /home/inittab -> /etc/inittab

特点

可以跨文件系统(分区)

可以给链接目录

删除不会影响源文件

系统启动过程:SysVinit :基于结果的启动系统

 

1BIOS自检,检测硬件,决定启动介质

2,从硬盘启动,读硬盘的第一个扇区——MBR,然后将启动引导工作交给boot loader

3boot loader去找 grubgrub读取配置文件grub.conf,决定默认启动项,找到内核(kernel)和驱动(initrd

bootloader分为两个阶段的:                                               1stage1: 执行boot loader

e2fs_stage1_5      加载文件系统驱动     

2stage2:加载真正的配置文件: grub.conf  )

4,内核 呼叫 init,读取配置文件 /etc/inittab,决定启动级别, 运行初始化脚本/etc/rc.d/rc.sysinit,运行相应的启动级别下的脚本 /etc/rc.d/rcN.d/

    找到/etc/rcN.d/K??*开头的文件,并进行  /etc/rcN.d/K??* stop 的动作

找到/etc/rcN.d/S??* 开头的文件,并进行  /etc/rcN.d/S??* start 的动作

如果默认启动是文本开启6个文本控制台 [ALT+F1~F6]

如果默认启动项是图形则开启图形界面以及6个文本控制台

5,等待用户输入用户名和密码,通过这两个文件

/etc/passwd

/etc/shadow

验证,如果用户名和密码输入正确

读取4个初始化文件:

/etc/profile

/etc/bashrc

~/.bashrc

~/.bash_profile

文本界面直接开启shell

图形界面开启桌面,进入X Window,通过开启终端打开shell

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

BIOS --> MBR 

Bootloader GRUB /→ → boot/grub/grub.conf 

kernel + initrd (内核参数分析,initrd的作用

/sbin/init → /etc/inittab 

定义运行级别 

| /etc/rc.d/rc.sysinit 

| /etc/rc.d/rc ? → 

| /etc/rc.d/rc?.d/ 

| K* stop 

| S* start 

mingetty 

login 

| /etc/profile 

| ~/.bash_profile 

| ~/.bashrc 

| /etc/bashrc 

bash

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

介绍grub的配置文件grub.conf

[root@localhost ~]# vim /boot/grub/grub.conf

default=0

//默认的启动项,也就是启动那个title,从0开始计数。

timeout=5

//超时时间,如果超过5秒没有动作,执行默认的

splashimage=(hd0,0)/grub/splash.xpm.gz

//grub背景图,可以不要

hiddenmenu

//隐藏菜单,只有按上下键才会出现

title Red Hat Enterprise Linux Server (2.6.18-194.el5)

//标题,后面随便写,最好有一定的标志性

        root (hd0,0)       //分指定你的内核所在的分区。hd0表示第一块硬盘设备。  0表示第一个分区

        kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ rhgb quiet

//内核在哪里;ro 只读;root=LABEL=/ 根分区是谁;rhgb (图形化显示启动过程quiet (静默式启动,不显示dmesg信息指出kernel的位置以及要传递给内核的任何命令行选项或参数

        initrd /initrd-2.6.18-194.el5.img

// 指示在引导过程初期内核加载的“初始RAM磁盘”的位置,其中包括引导时所需的关键设备驱动程序

制作grub的背景图片:

[root@localhost Desktop]# convert Bliss.bmp -resize 640x480! -colors 14 bliss.xpm

[root@localhost Desktop]# gzip bliss.xpm 

[root@localhost Desktop]# cp bliss.xpm.gz /boot/grub/

[root@localhost grub]# vim grub.conf 

splashimage=(hd0,0)/grub/bliss.xpm.gz

密码破解

进到单用户 模式

启动时 在grub界面

e --> kernel (e) --> 1/s --> boot

如果可以随意通过修改grub进入到单用户模式,那么系统将非常的危险

防止进入单用户模式,可以对grub添加修改密码

vim /boot/grub/grub.conf

password 123456

title ******************************

加密方式的grub密码

#grub-md5-crypt

vim /boot/grub/grub.conf

password --md5 $1$wzBpD0$U/S4oGORkg3siwKj6wZwz.

title ******************************

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

#password --md5 $1$xIApD0$P14v/M1VznYOvyy8QOEwH.

password 123456

title Red Hat Enterprise Linux Server (2.6.18-194.el5)

        root (hd0,0)

        kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ rhgb quiet

        initrd /initrd-2.6.18-194.el5.img

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

想破解grub密码,就使用“光盘”或“网络引导”进入到救援模式

为了防止grub密码被修改,bios密码,物理防护。

initrd-2.6.18-194.el5.img   驱动

拆分initrd,看看里面有什么文件

[root@localhost ~]# mkdir /tmp/initrd

[root@localhost ~]# cd /tmp/initrd/

[root@localhost initrd]# cp /boot/initrd-2.6.18-194.el5.img /tmp/initrd/

[root@localhost initrd]# file initrd-2.6.18-194.el5.img 

[root@localhost initrd]# mv initrd-2.6.18-194.el5.img  initrd-2.6.18-194.el5.img.gz

[root@localhost initrd]# gunzip initrd-2.6.18-194.el5.img.gz

[root@localhost initrd]# file initrd-2.6.18-194.el5.img 

[root@localhost initrd]# cpio -i < initrd-2.6.18-194.el5.img 

# ls

bin  dev  etc  init  initrd-2.6.18-194.el5  lib  proc  sbin  sys  sysroot

# cat  init

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

介绍/etc/inittab文件:

17个启动级别

#   0 - halt (Do NOT set initdefault to this)

#   1 - Single user mode

#   2 - Multiuser, without NFS

#   3 - Full multiuser mode

#   4 - unused

#   5 - X11

#   6 - reboot (Do NOT set initdefault to this)

2)选择启动级别

id:5:initdefault:

3)初始化设置

si::sysinit:/etc/rc.d/rc.sysinit

4)根据启动级别执行相应的目录下的脚本

l0:0:wait:/etc/rc.d/rc 0 

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6

5)在启动级别2345开启6个文本控制台

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

6)在启动级别5开启图形

x:5:respawn:/etc/X11/prefdm -nodaemon

Toubleshooting 

1、备份MBR【本地磁盘】

[root@localhost /]# dd if=/dev/sda of=/home/MBR bs=512 count=1

查看MBR

[root@localhost /]# hexdump MBR

1)模拟Boot loader 损坏

[root@localhost /]# dd if=/dev/zero of=/dev/sda bs=446 count=1

重启之后,查看系统能否正常启动。

如果不能,进救援模式修复。

使用光盘引导,(boot: linux rescue )进入到光盘救援模式

第一种方式:

# cd  /mnt/sysimage

# ls

#cd home

# dd if=MBR of=/dev/sda bs=512 count=1

# reboot

第二种方式:

#chroot /mnt/sysimage root虚拟家目录

#grub-install /dev/sda

# reboot

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

日志

日志相当于系统的帐本。 将系统当中发生的事情,记录下来。例如:什么时候、什么地方 (来源 IP)、什么人 (什么服务名称)、做了什么动作. 

有什么用处? 

  * 解决系统方面的错误 

  * 解决网络方面的问题 

* 记录一些重要的事件

* 解决安全方面的问题 

Linux 常见的日志文件

· /var/log/cron:  crontab(计划任务)服务的日志

· /var/log/dmesg:内核侦测过程所产生的各项信息,硬件侦测信息

· /var/log/lastlog:所有的帐号最近一次登陆系统时的相关信息

· /var/log/maillog:记录邮件的往来信息

·  /var/log/messages:几乎所有的系统错误信息都会记录在此。(**** 很重要) 

                    //tail -0f /var/log/messages

· /var/log/secure:需要输入帐号口令的软件在登录系统的信息

·  /var/log/wtmp:    记录正确登录者的帐号信息   用last查看

·  /var/log/httpd/*,    网络服务的日志文件

日志文件所需相关服务 (daemon) 与程序

syslogd:主要记录系统与网络等服务的信息;

klogd:主要记录内核产生的各项信息;

logrotate: 进行日志论滚

如果日志服务被关闭,那么你基本上就中招了。

 

查看日志的格式

# less  /var/log/messages

注意: 千万不要用vim命令查看

日志的格式: 

 

时间     主机名       相关的服务         发生事件的详细描述

May 27 02:02:01 uplooking xinetd[3635]: Started working: 0 available services

时间     May 27 02:02:01

主机名     uplooking

相关的服务       xinetd[3635]  

发生事件的详细描述  Started working: 0 available services

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

日志文件的服务的配置(syslogd )

/etc/syslog.conf

格式

服务或设备(facility) 分隔符 日志级别(priority)     把日志记录到哪里      

多个 facility.priority  的组合要使用;分隔

           

syslog 认识的服务主要有底下这些

auth  authpriv 用户授权,主要与认证有关的机制,例如 login, ssh, su 等需要帐号/口令的地方;

cron  计划任务的信息

kern  内核信息

lpr  与打印有关的信息

mail  与邮件有关的信息

news  新闻组服务器有关的信息

syslog  日志syslog生成的信息

uucp,news 新闻组信息

local0  ~ local7  自定义的服务

日志的级别

none  不需要日志

debug  调试信息 

info   一般的通知信息

notice  提醒信息

warning,  warn (same as warning)   警告,可能有问题,但是还不至於影响到某个 daemon 运行

err, error (same as err)  错误,比如因为配置错误 导致某些服务无法启动,通过err信息,应该找出该服务无法启动的原因

crit  比error 还要严重的错误信息,这个错误已经很严重了,临界状态,即将发生,需要预防

alert  问题已经很严重了,比critical 还严重 ,需要立即采取动作

emerg  紧急,系统已经不可用

panic  恐慌

服务与日志的级别之间的分隔符

. 是 “>=” 

.info:记录本身这个级别,并且记录高于这个级别的信息

   .= 是 “==”

.=info:只记录info 这个级别的信息

   .!  是“除了”

.!info:除了info 这个级别,其他信息都记录

 .none:是 “不记录”

*   所有

*.  所有的服务

.*  所有的级别

把日志记录到哪里

文件的绝对路径:通常就是放在 /var/log 里头的文件,

打印机或其他设备:例如 /dev/lp0  

输出到终端 /dev/console 

用户名称:显示给用户!

远程主机:例如 @log.uplook.com  @ 后面写主机名或IP地址,对方主机也能支持才行!

*:表示『目前在线上的所有人』,类似 wall 这个命令的意义!

监控日志  

tail -0f /var/log/messages     //实时监控日志

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

远程日志 

  确定远程日志服务器是谁: 

    Server250.example.com(192.168.1.250)   

 

  本地地址 

    vs1.example.com(192.168.1.251

 

目标是:将 192.168.1.251 的日志记录到 192.168.1.250 上 

 

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

Server250.example.com 

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

#vi /etc/sysconfig/syslog         //开启接收远程日志功能 

SYSLOGD_OPTIONS="-m 0 -r"         //-r enables logging from remote machines 

#service syslog restart 

 

# tail -0f /var/log/secure  

Aug 22 19:22:39 vs1 sshd[24464]: Accepted password for root from 192.168.1.252 port 46852 ssh2  

Aug 22 19:22:39 vs1 sshd[24464]: pam_unix(sshd:session): session opened for user root by (uid=0)  

Aug 22 19:23:06 vs1 sshd[24464]: pam_unix(sshd:session): session closed for user root  

 

 

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

vs1.example.com 

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

#vi /etc/syslog.conf 

*.*               @192.168.1.250   //将所有日志都转存到 192.168.20.250 

#service syslog restart 

 

 

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

another PC   192.168.1.252                       //在另一台机器上

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

#ssh 192.168.1.251

  

日志服务器的监听端口为 514 

logrotate  日志轮滚        防止日志文件无限制的变大

----------- 

/var/log 

 

messages 

messages.1 

messages.2 

----------- 

 

/usr/sbin/logrotate   命令文件 

/etc/cron.daily/logrotate    执行 logrotate 的脚本,每天执行一次 

 

配置文件 

/etc/logrotate.conf 

/etc/logrotate.d/ 

 

相关软件: 

 

#rpm -qa | grep logrotate 

logrotate-3.7.4-9 

 

vi /etc/logrotate.conf             //打开配置文件

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

# rotate log files weekly 

weekly        //轮滚周期,一个星期轮滚一次 

 

# keep 4 weeks worth of backlogs 

rotate 4      //保留几个旧的日志文件 

      message.1  ----- messages.4 

 

# create new (empty) log files after rotating old ones 

create        //创建一个新的空日志文件 

 

# uncomment this if you want your log files compressed 

#compress      //日志压缩 

 

# RPM packages drop log rotation information into this directory 

include /etc/logrotate.d  //在该目录下的配置文件也生效 

 

# no packages own wtmp -- we'll rotate them here 

/var/log/wtmp { 

    monthly     //轮滚周期为一个月 

    minsize 1M        //文件容量最小为 1M,才轮滚 

    create 0664 root utmp  //创建的空日志文件的权限及所有者、所属组 

    rotate 1    //保留 1 个日志备份 

 

# system-specific logs may be also be configured here. 

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

日志轮滚的格式: 

 

日志的绝对路径名(列表){ 

  具体的轮滚设置 

}  

 

#cd /etc/logrotate.d 

 

配置的脚本 

 

sharedscripts    开始

prerotate        滚动前执行的命令

  commands 

endscript        结束

 

sharedscripts     开始

postrotate        滚动后执行的命令

  commands 

endscript         结束

 

#touch  /var/log/admin.log

#vi /etc/logrotate.d/admin

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

/var/log/admin.log {

monthly 

size=10M 

rotate 5 

create

compress 

sharedscripts

prerotate

/usr/bin/chattr -a /var/log/admin.log

endscript

sharedscripts

postrotate

/usr/bin/killall -HUP syslogd

/usr/bin/chattr +a /var/log/admin.log

endscript

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

 

轮滚测试工具: 

#logrotate -vf /etc/logrotate.d/admin

 

阅读(1240) | 评论(0) | 转发(0) |
0

上一篇:day 03

下一篇:day 04

给主人留下些什么吧!~~