1 / 128

第 2 章 Linux 操作系统管理基础

第 2 章 Linux 操作系统管理基础. 计算机学院 潘薇 panwei117@qq.com. 本章要点. 2.1 系统引导、运行与系统关闭 2.2 用户及组管理命令 2.3 系统管理员与用户通信 2.4 任务自动调度 2.5 系统性能管理. 2.1 系统引导、运行与系统关闭. 当计算机打开电源后, Linux 系统开始了引导过程。该引导过程主要由以下步骤构成: 从开机到自检完成进入操作系统引导 从装入系统核心程序到建立核心环境过程 从初始化程序到启动服务过程. 2.1.1 系统引导. 2.1.1 系统引导.

kipp
Download Presentation

第 2 章 Linux 操作系统管理基础

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第2章 Linux操作系统管理基础 计算机学院 潘薇 panwei117@qq.com

  2. 本章要点 • 2.1 系统引导、运行与系统关闭 • 2.2 用户及组管理命令 • 2.3 系统管理员与用户通信 • 2.4 任务自动调度 • 2.5 系统性能管理

  3. 2.1 系统引导、运行与系统关闭

  4. 当计算机打开电源后,Linux系统开始了引导过程。该引导过程主要由以下步骤构成:当计算机打开电源后,Linux系统开始了引导过程。该引导过程主要由以下步骤构成: 从开机到自检完成进入操作系统引导 从装入系统核心程序到建立核心环境过程 从初始化程序到启动服务过程 2.1.1 系统引导

  5. 2.1.1 系统引导 • 从开机到自检完成进入操作系统引导: • 当计算机打开电源后,CPU以实模式运行BIOS自检程序。 • BIOS自检程序首先在物理地址0处开始初始化中断向量。 • CPU执行BIOS所带的系统初始化程序,从启动盘读取主引导记录MBR(MBR:master boot record:磁盘中的0磁道、0扇区部分代码,该代码包括系统的初始化程序加载器、分区数据表和验证码)。 • 在磁盘中找到系统的初始化程序加载器,则将其读到内存0000:7C00处。

  6. 2.1.1 系统引导 • 从装入系统核心程序到建立核心环境过程: • 执行磁盘中系统的初始化程序加载器,并将系统核心程序装入内存。在Linux系统中,有两种类型的引导加载器:LILO(Linux Loader)和GRUB(Grand Unified Boot Loader)。引导加载器的功能主要是把Linux内核可执行代码写入内存。 • 在引导加载过程中,系统将保存BIOS自检返回的系统参数,如关于内存、磁盘等信息的参数。 • 当内核太大时,初始进入内存的内核是经过压缩的,在进入内存后再解压。当装入系统核心程序后,Linux开始执行系统核心代码,得到CPU的控制权。

  7. 2.1.1 系统引导 • 从初始化程序到启动服务过程: • 系统核心程序调用初始化函数init(),启动系统的初始化(init)过程。 • 系统运行初始化程序生成一系列的初始进程,最后读取配置文件/etc/inittab中设置的系统运行级,设置系统环境,启动各种守护进程,等待用户登录。

  8. 2.1.2 系统运行级 • 系统运行级是系统运行时所处的一种状态,不同的运行级在用户登录及使用上有一定的限制。通常Linux有10个运行级,如表2.1所示。

  9. 2.1.2 系统运行级 表2.1 系统运行级定义

  10. 2.1.2 系统运行级 • 通常情况下,系统运行在多用户输出资源运行级,即:运行级为3或者5,两者区别在于3为命令行模式,5为图形界面。 • 为了文件安全,会选择不输出资源和不提供任何网络服务的运行级2,2也是命令行模式。 • 在系统进行备份或系统出现问题而修复时,会选择运行级1。 • 有的操作系统版本将运行级4定义为厂家的维护模式。

  11. 2.1.2 系统运行级

  12. 系统的运行级定义及管理文件为/etc/inittab文件。该文件中有系统的默认运行级及各运行级别定义。在初始化系统时,系统的初始化程序首先需要寻找该文件来确定系统的运行级。系统的运行级定义及管理文件为/etc/inittab文件。该文件中有系统的默认运行级及各运行级别定义。在初始化系统时,系统的初始化程序首先需要寻找该文件来确定系统的运行级。 init文件行格式为: identifier:Run Level:Action:Command identifier为标识符; Run Level为运行级。 Action为init命令应向进程实施的动作。 Command表示要执行的Shell命令。 2.1.2 系统运行级

  13. 具体的动作有: respawn:启动并监视进程,若进程终止则重启它。 wait表示启动进程,在继续到下一项取得运行状态之前,等待进程结束。 once表示若进程没有执行则启动它,但不等它结束就继续下一项。 boot表示只在引导时执行该项但不等待其完成。 bootwait表示只在引导时执行该项并等待其完成。 powerfail表示当系统收到powerfailure信号时执行。 powerwait表示当系统收到powerfailure信号时执行并直到执行结束。 2.1.2 系统运行级

  14. 2.1.2 系统运行级 • off表示若与该项相关的进程正在执行则杀死该进程,也用于注释不用的终止行。 • ondemand只用于a、b、c运行级,与respawn类似。 • initdefault用于指出默认运行级,必须处于文件的第一行,且只列出一个运行级。 • sysinit用于激活在试图访问系统控制台时需要完成的进程。会在执行boot及bootwait之前执行。 • ctrlaltdel:当用户按下“Ctrl+Alt+Del”组合键时执行的操作。

  15. 2.1.2 系统运行级 • 选择运行级在系统初始化时进行,此处选择的是系统的默认运行级。 • 如果在系统运行中需要改变运行级,也可以借助于命令进行选择。常用init命令或者telinit命令来选择系统的运行级。这两个命令都位于/sbin/目录下。 • 使用init和telinit命令可以不用修改/etc/inittab文件中的默认运行级定义而只需重新引导系统,就能改变正在运行系统的运行级。 • 当init和telinit命令赋予系统一个新的运行级时,则读取/etc/inittab文件并为该特定运行级执行所有的运行控制脚本。但如果/etc/inittab文件不存在,系统就只能引导成单用户模式。

  16. 2.1.2 系统运行级 • /sbin/init命令格式为:/sbin/init n • /sbin/telinit命令格式为:/sbin/telinit n • n为选择的运行级。 • 用命令who–r可以查找系统的运行级,同时系统还会显示上次改变运行级的日期和时间。 $who –r run-level 5 2012-07-12 09:44 last=S $

  17. 2.1.2 系统运行级 • 控制运行级运行的脚本位于目录/etc/rc.d/rc#.d目录中,其中#代表运行级。这些脚本也被称为rc Shell脚本,其主要功能是执行用于为被选运行级启动服务。 • 例如:初始化进程选择运行级3时,则执行/etc/rc.d/rc3.d目录中的文件。

  18. 2.1.2 系统运行级 • 目前有7个运行控制目录可供系统选择: • /etc/rc.d/rc0.d • /etc/rc.d/rc1.d • /etc/rc.d/rc2.d • /etc/rc.d/rc3.d • /etc/rc.d/rc4.d • /etc/rc.d/rc5.d • /etc/rc.d/rc6.d

  19. 2.1.2 系统运行级 • 在系统引导时rcShell脚本所作的工作有: • 设置计算机主机的名字和IP地址。 • 配置网络接口。 • 检查文件系统。 • 安装文件系统。 • 从/tmp目录中删除文件。 • 设置区域时间。 • 启动daemon。 • 启动网络服务。 • 启动应用。

  20. 2.1.2 系统运行级 • 这些文件包含启动和关闭所有与该运行级相关功能的脚本。因此,rc Shell脚本的设计目的是传递参数start和stop给系统初始化进程。 • 当调用一个带start参数的脚本时,该脚本以提问方式启动服务;当调用一个带stop参数的脚本时,该脚本停止服务进程。 • 另外还可以通过编写函数的方式,在引导或关闭过程序列中指定具体开始或停止服务的位置。

  21. 2.1.2 系统运行级 • /etc/init.d目录包含操作系统为进程提供的初始化和终止脚本。在系统中可以使用这些脚本为进程传递start或stop参数。 • 在/etc/init.d目录中每个脚本都有一条case语句接收start或者stop变量。 • 例如:当需要执行文件/etc/init.d/nfs.server start时,case语句指向/etc/rc2.d/S70nfs.server。

  22. 2.1.2 系统运行级 • 用户自定义开机启动程序脚本/etc/rc.d/rc.local • 写入该文件的命令将在系统启动时执行,不必等待登录系统再启动。

  23. 2.1.3 系统关闭 • 系统关机:Linux不允许直接关掉电源,必须执行关机命令,在系统完成了关闭操作之后才可以断电。只有超级用户才有权执行关机命令。 • 关闭系统可分为三种情形:关掉电源、不关电源只关机、重新引导。 • 关闭系统的命令有shutdown、halt、reboot、init

  24. 2.1.3 系统关闭 • shutdown命令:该命令向所有的系统用户发出关闭系统的通知,默认情况下等待60秒后关闭系统。 • 命令格式如下: • shutdown [-f file | mesg] [-g time] [-i init-level] [-y] • 其中: • file:文件中包含有shutdown第一步中系统管理员发给所有终端用户的消息; • time:等待关机的时间,缺省为60秒; • init-level:将系统转入的运行级别。默认情况下转入0级; • y:对所有的交互问题均以yes回答。 • 在不同系统中可能shutdown命令的路径不同,在执行该命令时需要根据具体的系统查找该命令的路径。

  25. 2.1.3 系统关闭 • halt命令:用于立即关机。 • 该命令不会给系统用户发出关机通知。 • halt命令不严格执行rc关闭脚本中的规定,不是一种最佳的系统关闭方法。 • 命令格式:halt

  26. 2.1.3 系统关闭 • reboot命令: 使用reboot是关闭系统并重新引导系统。 • 该命令不发送关闭系统的通知给系统用户,不严格执行rc关闭脚本中的规定,也不是最佳的关机命令。 • 命令格式如下:reboot • 如果系统添加了新的软、硬件就需要关机重新引导,用命令:reboot –r • 该命令表示运行一个重新配置的脚本,装载模块目录中列出的所有设备驱动程序并创建相应的硬件节点。

  27. 2.1.3 系统关闭 • /sbin/init命令与/etc/telinit命令 • 前面已经介绍过init和telinit命令都用来修改运行级,当运行级为0时则关闭电源。 • 这两个命令可以互换,但telinit命令使用rc脚本删除进程,能够可靠地关闭系统。

  28. 2.2 用户及组管理命令

  29. 2.2 用户及组管理命令 • 用户和组管理是Linux系统管理的一部分,系统管理员通过对用户或组进行管理,实现对系统的访问控制。

  30. 2.2.1 用户管理信息和用户管理文件 • 用户管理信息 • 用户帐号及用户标识符(uid):是用户登录系统的凭证。用户标识符是系统赋予每个用户的唯一管理标识。 • 用户组帐号及组标识符(gid):用于管理用户组,是每一个用户组的唯一管理标识。 • 用户注释:用于提醒系统管理员与用户有关的一些信息。 • 用户默认Shell:用户登录后缺省的Shell类型。 • 用户主目录及主目录权限:用户登录后缺省进入的目录,是用户具有使用权限并受保护的主目录(家目录)。 • 用户密码及有效期:用户登录系统时验证的标识。在有效期内起作用。

  31. 2.2.1 用户管理信息和用户管理文件 • 在Linux系统中常用的用户管理文件有: • /etc/passwd文件 • /etc/shadow文件 • /etc/security/shadow文件 • /etc/group文件 • 这些文件只有系统管理员才有权限修改。

  32. 2.2.1 用户管理信息和用户管理文件 • /etc/passwd文件是系统用户认证访问权限的第一个文件。该文件中的行格式如下: login_name:password:uid:gid:user info: home_directory:default_shell • 其中: • login_name:用户帐户,可以用1~8个字符表示,区分大小写,避免使用数字开头; • password:加密后的用户登录系统的密码; • uid:系统指定给每个用户的唯一数值,即用户标识符,32位系统中标识符在0~60 000之间。; • gid:用户组标识;

  33. 2.2.1 用户管理信息和用户管理文件 • user info:用户注释信息(如用户身份、电话号码、特性等); • home_directory:用户的主目录(家目录); • default_shell:用户登录系统时默认执行的Shell程序,通常为/bin/sh,表示执行Bourne Shell。如果是Korn Shell则用/usr/bin/ksh。如果是C Shell则用/usr/bin/csh。如果是TC Shell则用/usr/bin/tcsh(较少使用)。如果是Bash Shell则用/usr/bin/bash(Linux系统)。

  34. 2.2.1 用户管理信息和用户管理文件 • 例 /etc/passwd文件实例。 $cat /etc/passwd root:!:0:0::/:/usr/bin/sh daemon:!:1:1::/etc: bin:!:2:2::/bin: sys:!:3:3::/usr/sys: adm:!:4:4::/var/adm: uucp:!:5:5::/usr/lib/uucp: xwen:!:251:1::/home/xwen:/usr/bin/sh ldap:*:255:1::/home/ldap:/usr/bin/sh duj:!:415:1::/home/duj:/usr/bin/sh …… $

  35. 2.2.1 用户管理信息和用户管理文件 • 在Linux系统中用/etc/shadow文件管理用户密码,该文件中的行与/etc/passwd文件中的行完全对应。该文件主要用于系统管理员修改或取消用户密码。 • /etc/shadow文件中行的格式为: login_name:encrypted_password:last_change:min:max:warn:inaction:expire:reserved

  36. 2.2.1 用户管理信息和用户管理文件 • 其中: • login_name:登录用户帐号; • encrypted_password:加密后的用户密码; • last_change:口令上次被修改的日期距离1970.1.1的天数; • min:密码不可被更改的天数(距离上次修改); • max:密码需要被更改的天数(距离上次修改) ; • warn:密码更改期限前多少天发出警告。该警告在用户登录时发出; • inaction:密码过期之后的宽限天数; • expire:用户禁止登录并且其帐号不可用的绝对日期; • reserved:保留区域,空白。

  37. 2.2.1 用户管理信息和用户管理文件 • 例 /etc/shadow文件实例。 $cat /etc/shadow root:ASHFNadn:10390:0:0:::: daemon:NP:6645:::::: bin:NP:6645:::::: sys: NP:6645:::::: adm:NP:6645:::::: uucp: NP:6645:::::: xwenNP:6645::::::: ldap:*kfjkj:10255:2:45:2::: duj:MKHS*:12415:34:56:::: …… $

  38. 2.2.1 用户管理信息和用户管理文件 • 部分Linux系统版在没有用管理文件/etc/shadow管理用户密码,而用/etc/security/passwd文件管理用户密码。 • /etc/security/passwd文件实例: wenxie: password = usjflgk2gk5mrn lastupdate = 901274567 flags = ADMIN,NOCHECK jiexich: password = Ndkfj6k63vus lastupdate = 901274567 flags =

  39. 2.2.1 用户管理信息和用户管理文件 • 其中: • password:加密后的用户密码; • lastupdate:口令最近改变时间距离1970.1.1的秒数; • flags:用户使用login、passwd和su命令的约束。约束可能是一个用逗号分开的清单,如ADMIN,ADMCHG,NOCHECK或blank(默认)。

  40. 2.2.1 用户管理信息和用户管理文件 • 文件/etc/group管理用户组。 • 文件中的行格式为: groupname:password:gid:user-list • 其中: • groupname:用户组名; • password:组密码; • gid:组的标识符; • user-list:同组用户清单。

  41. 2.2.1 用户管理信息和用户管理文件 • /etc/group文件实例: $cat /etc/group root::0:root0 other::1 bin::2:root,bin,daemon sys::3:root,bin,sys,adm adm::4:root,adm,daemon mail::6:root tty::7:root,tty,adm daemon::11:root,daemon sysadmin::12: admin::2000:stu01,stu02,stu03 $

  42. 2.2.1 用户管理信息和用户管理文件 • 在Linux系统中除了用/etc/group文件作为组基本管理之外,还用/etc/security/group文件配合管理组。 • /etc/security/group文件实例如下: sys: admin = true adm: admin = true adms = ppadmn,ftp02 dmdusers admin = false

  43. 2.2.2 用户管理命令 • 添加用户命令: 当一个新用户需要使用系统时,系统管理员需要向系统添加一个新的用户帐号。 • 系统管理员用命令useradd向系统添加一个新的用户帐号,该命令格式如下: useradd [-c comment] [-d dir] [-e expire] [-f inactive] [-g group] [-G group [, group…]] [-m [-k skeldir]] [-u uid [-o]] [-s shell] login

  44. 2.2.2 用户管理命令 • 其中选项表示为: • c comment:用户的注释; • d dir:用户的主目录(用户家目录)。通常情况下,如果系统默认用户主目录为/home,新增用户的帐号为zijich,则新增用户的主目录为/home/zijich; • e expire:指定登录的终止日期,该日期之后用户禁止登录; • f inactive:指定在用户密码过期后允许该帐号登录的最大天数,通常是一个正整数。如果为0表示该值无效; • g group表示一个已存在的组标识符,表示新增用户要加入的主要组; • G group表示一个已存在的组标识符,表示新增用户要加入的附加组;

  45. 2.2.2 用户管理命令 • m:如果新增用户的主目录不存在则创建一个用户主目录,如果已经存在则新增加的用户对其有读、写和执行权限; • k skeldir是一个包含有被复制到新增用户起始目录中的框架信息(如.profile文件)的目录,必须是已经存在的目录; • u userid表示新增用户的标识符(uid),是0~65 535之间的一个整数。Linux系统为了更方便地管理用户,除用户名之外还给每个用户增加了用户标识符,每个用户都有一个唯一的标识符。有时将用户帐号称为系统用户的外标识符,而将uid称为系统用户的内标识符; • s shell表示新增用户登录时默认的Shell; • login 表示新增用户的帐号(用户名)。

  46. 2.2.2 用户管理命令 • 例 #useradd –c 〝Zhang Li Ming 87653421〞-d /export/home/zhanglm –e 089823 –f 300 –g admin –m –k /usr/local/bin/skel –u 1001 –s /bin/csh zhanglm • 如果新增用户在系统中已经存在,则会出现报错信息。

  47. 2.2.2 用户管理命令 • 删除用户命令: 如果一个用户不再使用系统时,系统管理员应该删除该用户帐号。如果用户较长一段时间不用系统,系统管理员可在此期间将用户帐号“锁住”,而不需要删除用户帐号。 • 删除用户帐号的命令格式如下: userdel [-rp] login • 其中选项: • r:表示删除用户主目录及所有的子目录; • p:表示删除/etc/security/passwd文件中的密码信息。 • 例 删除用户zhanglm。 #userdel –r zhanglm

  48. 2.2.2 用户管理命令 • 修改用户命令: 系统管理员利用命令usermod可以修改用户相关的信息。 • 命令格式如下: usermod [-u uid] [-g group] [-G group [,group…]] [-d dir[-m]] [-s shell] [-c comment] [-l new_logname] [-f inactive] [-e expire] [-L lock] [-U unlock] login

  49. 2.2.2 用户管理命令 • 其中选项表示为: • u uid:用户标识符; • g group表示一个已存在的组标识符,表示新增用户要加入的主要组; • G group表示一个已存在的组标识符,表示新增用户要加入的附加组; • d dir:用户的主目录; • s shell表示新增用户登录时默认的Shell; • c comment:用户的注释; • l new_logname:修改后新的用户帐号; • f inactive:设定密码过期后多少天即关闭用户帐号; • e expire:指定登录的终止日期,该日期之后用户禁止登录; • login:需要修改信息的用户帐号。 • lock:锁定用户密码,在锁定期间用户密码不能使用; • unlock:解除锁定的用户密码。

  50. 2.2.2 用户管理命令 • 创建组: 当需要建立一个新的用户组时,系统管理员需要向系统添加一个新的用户组帐号。 • 添加组命令的格式如下: groupadd [-g gid] group • gid为组标识符,意义与用户标识符相似。 • 修改组: 通过命令groupmod修改给定组的信息。 • 命令格式如下: groupmod [-g gid] [-n newname] group • gid为组标识符,newname为新的组账号。

More Related