1、Linux系统与编程第5章Linux系统管理基础EcustChinaUniversityofScienceandTechnology本章内容第1节系统启动、运行与系统关闭第2节用户管理第3节设备管理第4节进程管理第5节日志管理2第1节系统启动、运行和关闭加电1.系统启动启动过程加载BIOS预引导(LILO/GRUB)加载系统内核映像(kernelboot)rc.sysinitinitrc建立用户接口loginShell用户执行Linux命令3第1节系统启动、运行和关闭1.系统启动GRUBGNUGRUB(GRandUnifiedBootloader)是一个将引导装载程序安装到主引导记录的程序。它
2、允许位于主引导记录区中特定的指令来装载一个GRUB菜单或是GRUB的命令环境。RHEL6为例:4第1节系统启动、运行和关闭5第1节系统启动、运行和关闭各项含义解释如下:字符#-为配置文件注释信息。default-默认启动的操作系统的编号。0表示菜单指示第一个OS默认启动。如果菜单接口超时,那它将被载入。timeout-设定了在GRUB载入由default命令指定的OS前的时间间隔,以秒为单位。splashimage-指定在GRUB引导时所使用的屏幕图像的位置。hiddenmenu-不显示GRUB菜单接口,在超时时间过期后载入默认项。6第1节系统启动、运行和关闭title-设定用来装载一个操作系
3、统的一组特定命令的标题。root(hd0,0)-将GRUB的根分区设置成第一块硬盘的第一个分区。kernel/vmlinuz-2.6.32-71.el6.i686roroot-表明了vmlinuz文件是从GRUB的根文件系统载入的。initrd-使用户能够指定一个在引导时可用的初始RAM盘。当内核为了完全引导而需要某些模块时,这是必需的。7第1节系统启动、运行和关闭2.系统运行级别Linux系统提供7种运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动。1:单用户工作状态,root权限,用于系统维护,禁止远程登陆。2:多用户状态(没有NFS支持)3:完全的多用户状态(有NF
4、S),标准运行级别,登录后进入命令行模式。4:系统未使用,保留。5:多用户模式,X11控制台,登录后进入GUI模式。6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。8第1节系统启动、运行和关闭2.系统运行级别运行级别配置文件/etc/inittab9第1节系统启动、运行和关闭id:runlevels:action:processid是一个唯一标识符,由14个字符构成,通常与登录终端tty编号一致。runlevels表示系统的运行级别。当前为5,为多用户图形模式的运行级别。action表示要执行的操作。当前为initdefault,表示系统启动后的默认运行级别。如果没有该记录,
5、系统启动时在控制台询问要进入哪个运行级别。process指明具体应该执行的程序。由于initdefault设定进入相应的运行级别会激活对应级别的进程,所以对于指定process字段没有任何意义,因此为空。10第1节系统启动、运行和关闭2.系统运行级别运行级别切换(1)查看运行级别$runlevel(2)进入其它运行级别$initN其中N表示06的数字。如init3表示切换到运行级别3。11第1节系统启动、运行和关闭3.系统关闭只有超级用户才有权执行关机命令。关闭系统可分为三种情形:关掉不关电源只关机重新引导shutdown,halt,reboot,init12第1节系统启动、运行和关闭3.系统
6、关闭shutdownshutdown-fFhknrc(参数名称)-t秒数时间警告信息示例:立即关机重启。#shutdownrnow示例:立即关机。#shutdownhnow13第1节系统启动、运行和关闭3.系统关闭halt相当于shutdownhreboot关机后引发系统重启。init主要用于系统不同运行级之间的切换。init014第2节用户管理1.用户类型Linux系统中的用户三种类型超级用户:root普通用户:特殊用户:在Linux系统中还存在一些特殊的与系统和程序服务相关的用户。注意:默认情况下特殊用户无法登录。15第2节用户管理2.用户管理的信息包括:(1)用户账号(用户名)的增加、修
7、改和删除。(2)组账号(组名)的增加、修改和删除。(3)用户账号属性信息的修改,包括登录shell,用户主目录,用户注释信息等。(4)组账号属性信息的修改,包括组内用户、组ID等(5)用户和组账号密码的设置与修改,包括密码有效期、更改密码等。16第2节用户管理3.用户管理方法(1)通过GUI方式管理(2)通过修改用户管理相关配置文件管理(3)通过系统管理命令管理17第2节用户管理18第2节用户管理4.用户管理相关配置文件(1)/etc/passwd文件:存放关于账户相关的信息(2)/etc/shadow文件:/etc/passwd的影子文件,来存放用户的加密口令。(3)/etc/group文件
8、:存放用户组相关的信息资料。19第2节用户管理4.用户管理相关配置文件(1)/etc/passwd20第2节用户管理4.用户管理相关配置文件(1)/etc/passwdroot:x:0:0:root:/root:/bin/bash用户名用户ID用户信息用户登录shell用户组ID用户主目录密码21第2节用户管理4.用户管理相关配置文件(2)/etc/shadow22第2节用户管理4.用户管理相关配置文件(2)/etc/shadow用户名:用户的账户名称,与/etc/passwd文件中的内容相互匹配。加密口令:这是利用隐藏口令的技术,将加密口令串存放的区域。上次更新时间:表示自1970年1月1日
9、以来至最后一次更改口令的天数。允许更改时间:表示现在到下次允许更改口令的天数,一般设置为0,以便用户可以随时更改口令。要求更改时间:表示用户被迫要求更改口令之前距今的天数,一般设置为99999,代表不强制更改口令。23第2节用户管理4.用户管理相关配置文件(2)/etc/shadow取消口令之前的警告时间:表示系统在取消用户口令之前,要提前通知用户的天数,一般设置为7,代表提前1周通知用户。账户终止时间:表示自1970年1月1日以后的账户将被终止的天数,一般设置为-1或空白,代表不使用自动失效的方式来终止用户账户。特殊标志:此区域预留为了将来使用,一般设置为空白。取消和停用之间的时间:表示用户
10、账户到期至系统自动取消用户口令的天数,一般设置为-1或空白,代表不使账户自动取消。24第2节用户管理4.用户管理相关配置文件(3)/etc/group25第2节用户管理4.用户管理相关配置文件(3)/etc/group四个区域信息为:用户组名(GroupName):每一个用户组都有唯一的名称,如果创建用户时,创建的是私人组群,那么用户组名和用户名相同。组密码(Password):用户组可设置密码。组ID(GID):每个用户组都有一个GID,普通的用户从500开始编号,用户组也是如此。组内用户(user-list):表示该组内都有哪些用户。26第2节用户管理4.用户管理相关配置文件修改配置文件增
11、加用户(1)首先编辑/etc/passwd文件,增加用户信息。运行vi/etc/passwd命令行后,加入如下信息:test:501:501:/home/test:/bin/bash(2)编辑/etc/group文件,增加一个新组。按照/etc/group文件每行信息格式,增加如下内容:test:501:test27第2节用户管理4.用户管理相关配置文件修改配置文件增加用户(3)建立用户的主目录,并用chown/chgrp这两个命令设置用户主目录的权限。#cp-r/etc/skel/home/test/创建用户目录并复制该账号的环境变量#chowntest/home/test#chgrptes
12、t/home/test28第2节用户管理4.用户管理相关配置文件修改配置文件增加用户(4)执行pwconv命令,更新和创建/etc/shadow文件,使其与/etc/passwd文件同步。#pwconv#passwdtest29第2节用户管理5.用户管理相关命令(1)useradd使用useradd命令可以添加用户,语法格式:useraddoptionsusername示例:#useraddtom注意:使用useradd命令添加用户后,如果不使用passwd命令为用户设置密码,此用户将无法登录。30第2节用户管理5.用户管理相关命令(2)usermod使用usermod命令可以改变用户属性,语
13、法格式:usermod-optionsargumentsusername示例:#usermod-gusertom#usermod-d/home/testtom31第2节用户管理5.用户管理相关命令(3)userdel使用userdel命令可以改变删除用户,语法格式:userdel-rusername示例:#userdel-ruser(4)组相关命令groupadd,groupmod,groupdel,groups32第3节设备管理Linux中设备也是由文件来表示的,每种设备都被抽象为设备文件的形式,提供给应用程序一个统一的文件界面,即文件系统。Linux系统中设备分为字符设备:数据组织的单位为
14、字节。块设备:数据组织的单位为块网络设备:通过通信网络传输数据的设备,一般指与通信网络连接的网络适配器(网卡)等所有设备文件集中放置在/dev目录下33第3节设备管理1.设备标识设备文件的文件名一般由两部分构成第一部分是主设备号,第二部分是次设备号。其中,主设备号代表设备的类型,可以唯一地确定设备的驱动程序和界面,如hd表示IDE硬盘,sd表示SCSI硬盘,tty表示终端设备,lp表示打印机等;次设备号代表同类设备中的序号,如hda表示IDE主硬盘,hdb表示IDE从硬盘,tty0表示编号为0的终端,lp0表示第一个打印机等。34第3节设备管理2.磁盘和分区管理命令(1)fdiskfdisk命
15、令是磁盘及分区管理工具,在硬盘设备中创建、删除、更改分区等操作通过fdisk命令进行,命令语法格式:fdisk-l设备名称-l:该选项后边不跟设备名会直接列出系统中所有的磁盘设备以及分区表,加上设备名会列出该设备的分区表。35第3节设备管理2.磁盘和分区管理命令(1)fdisk36第3节设备管理2.磁盘和分区管理命令(2)mkfs将硬盘分区后,使用mkfs(MakeFilesystem,创建文件系统)命令可对其进行格式化。基本的命令格式如下所示:mkfs-t文件系统类型分区设备示例:#mkfs-text3/dev/hdb1等同于执行如下命令:#mkfs.ext3/dev/hdb137第3节设备
16、管理2.磁盘和分区管理命令(3)fsck当系统非正常关机,或其他原因破坏了文件系统时,需要对文件系统进行修复,否则文件系统将不能正常引导。该命令的命令格式:fsck-sACR-tfstypefilesysnamefsck-optionsfilesys例:38第3节设备管理2.磁盘和分区管理命令(4)dfdf命令功能是检查文件系统的磁盘空间占用情况。命令语法格式:df选项例39第3节设备管理2.磁盘和分区管理命令(5)du统计目录(或文件)所占磁盘空间的大小。命令语法格式如下:duoptionsdirname例:40第3节设备管理2.磁盘和分区管理命令(6)quotaquota命令可以显示磁盘已
17、使用的空间与限制。quota这个模块主要分为quota,quotacheck,quotaoff,quotaon,quotastats,edquota,setquota,warnquota,repquota41第3节设备管理3.存储设备的挂载与卸载(1)挂载设备mount命令可以实现对存储设备的挂载,语法格式:mount-t文件系统类型存储设备挂载点示例:挂载u盘设备(假设u盘标识为sdb1)到/mnt/usb目录。#mount/dev/sdb1/mnt/usb42第3节设备管理3.存储设备的挂载与卸载(2)卸载设备umount命令可以用来把已经mount上的文件系统卸载,停止已经建立的挂载关系
18、。语法格式为:umount存储设备示例:卸载u盘设备。#umount/dev/sdb1或#umount/mnt/usb43第3节设备管理3.存储设备的挂载与卸载(3)设备自动挂接系统中的“/etc/fstab”文件可以看做mount命令的配置文件,其中存储了文件系统的静态挂载数据。44第3节设备管理/etc/fstab文件各部分的含义如下所述:第一字段:设备名或设备卷标名。第二字段:文件系统的挂载点目录的位置。第三字段:文件系统类型,如:etx3、swap等。第四字段:挂载参数,即mount命令“-o”选择后可使用的参数,如defaults、rw等。第五字段:表示文件系统是否需要dump备份,
19、一般设为1时表示需要,设为0时将被dump所忽略。第六字段:该数字用户决定在系统启动时进行磁盘检查的顺序,0表示不进行检查,1表示优先检查,2表示其次检查。对于根分区应设为1,其他分区设为2。45第3节设备管理通过在“/etc/fstab”文件中添加相应的挂载配置,可以实现开机后自动挂载指定的分区。编辑该文件,在文件末尾增加如下内容:/dev/sdb1/mnt/usbext3defaults00保存该文件后,需要重新启动系统,然后开机后自动加载该u盘46第4节进程管理Linux系统上所有运行的东西都可以称为一个进程。进程的基本状态三种:运行态、就绪态和阻塞态(或等待态)。运行等待事件分到CPU
20、就绪事件发生阻塞时间片结束进程大致上来讲可分为两大类:系统进程与用户进程。47第4节进程管理进程管理相关命令1.ps进程查看命令语法格式如下:ps选项常用选项含义如下:-e:显示所有进程。-f:全格式。48第4节进程管理2.top显示系统当前的进程和其他状况命令语法格式如下:top-dqsiupSc-dcount-stime-uusername常用选项含义如下:d:指定每两次屏幕信息刷新之间的时间间隔。q:表示没有任何延迟地进行刷新。s:表示安全模式下运行。49第4节进程管理3.renicerenice命令允许用户修改一个正在运行进程的优先权。利用renice命令可以在命令执行时调整其优先权。
21、其命令语法格式如下:renice-numberPID其中,参数number表示优先级别号。示例:50第4节进程管理4.waitwait命令将实现对一个进程的等待。命令格式为:waitn等待进程号为n的一个进程的完成并将报告进程的终止状态。没有参数,则将等待所有后台进程的完成并返回代码0。示例:等待进程号为13199的进程结束。51第4节进程管理5.sleepsleep命令,将进程的执行挂起一段时间。语法格式为:sleep即使得shell挂起time秒后,再继续执行。time6.at实现指定时刻执行指定的命令序列。语法格式:at-V-qqueue-ffilename-mldbvtime52第4节
22、进程管理在任何情况下,超级用户都可以使用at命令。对于其他用户来说,是否可以使用就取决于两个文件:/etc/at.allow和/etc/at.deny。示例:53第4节进程管理7.cronLinux系统提供cron命令可以按一定时间自动完成任务调度。cron命令执行过程中,首先cron命令会搜索/var/spool/cron目录,寻找以/etc/passwd文件中的用户名命名的crontab文件,被找到的这种文件将载入内存。54第4节进程管理8.crontabcrontab命令用于安装、删除或者列出用于驱动cron后台进程的表格。每个用户都可以有自己的crontab文件。crontab文件是通
23、过crontab命令得到的。注意:执行crontab文件时,如果是系统管理员,不需要权限;如果是普通用户,执行时需要权限。系统用/etc/cron.allow文件和/etc/cron.deny文件控制普通用户执行crontab的权限。55第4节进程管理9.kill当用户需要中断一个前台进程的时候,通常是使用组合键;对于一个后台进程须求助于kill命令kill命令的语法格式很简单,大致有以下两种方式:kill-s信号|-p-a进程号kill-l信号56第5节日志管理Linux系统中的有三个主要的日志子系统:(1)连接时间日志子系统(2)进程统计日志子系统(3)错误日志子系统57第5节日志管理1.
24、Linux的日志(1)连接时间日志连接时间日志-由多个程序执行,把纪录写入到/var/log/wtmp和/var/run/utmp中,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪用户在何时登录到系统中。utmp、wtmp和lastlog日志文件是Linux日志系统的关键,它保存用户登录和退出的纪录。58第5节日志管理(2)进程统计日志由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。(3)系统和服务日志由syslogd(8)执行。各种系统守护进程、用户程序和内核通过syslog
25、(3)向文件/var/log/messages报告值得注意的事件。59第5节日志管理2.常用日志文件(1)/var/log/dmesg/var/log/dmesg文件保存内核启动的信息,在这个文件里,用户可以看到内核和各种驱动程序的加载,加载硬件驱动时系统也会显示出相应的信息。60第5节日志管理(2)/var/log/messages/var/log/messages文件是Linux系统中最全面的log文件,它记录了内核和应用程序发生错误时的信息和系统运行的一般信息。61第5节日志管理3.日志分析工具swatch能浏览log文件,对找到的关键信息进行处理。swatch使用perl在log文件中寻找某种表达式,它有三个组成部分:一个控制程序,一个启动的库文件和一个配置文件。配置文件由以下的数据格式组成:匹配模式处理方式时间间隔时间戳域62结束语GNU/Linuxisagreat&hardfun63