12019年12月21日第9章系统管理和监视22019年12月21日•9.1用户管理•9.2进程管理•9.3系统监视•9.4日志查看32019年12月21日用户与账号•Linux系统中的用户可以分为三类:root用户、系统用户和普通用户。•Linux系统的账号分为两类:–用户账号:通常一个操作者拥有一个用户账号,每个用户账号有唯一的识别号UID(UserID)和自己所属组的识别号GID(GroupID)。–组账号:是一组用户集合的账号。通过使用组账号,可以设置使一组用户对文件具有相同的权限。42019年12月21日用户和组的配置文件•用户和组的配置信息保存在以下三个文件中:–/etc/passwd–/etc/shadow–/etc/group–/etc/gshadow52019年12月21日/etc/passwd文件•每一行存储一个用户的账号信息,每一行可以包含如下7个域,各域之间以冒号“:”分隔:–登录名:即用户名。–口令:通常是一个“x”,表示口令已被加密,加密后的口令存储在/etc/shadow文件中。如果是“*”,则表示该账号已被停用。–UID:每个用户都有一个不同的ID,它是一个整数。–GID:用户所属的组的ID,每个组也都具有不同的ID。–用户信息:用户的个人资料,如用户名、电话、住址等。–主目录:在默认状态下,每个用户都有一个主目录,root用户的主目录是/root,管理员新建立的用户的主目录默认为/home/用户名。–登录shell:设置用户在登录时使用的shell,系统默认使用/bin/bash。•例如:root:x:0:0:root:/root:/bin/bash62019年12月21日/etc/shadow•是根据/etc/passwd文件产生的,一行存储一个组账号的信息,各域之间以冒号“:”分隔:–用户名。–加密的口令密文。–从1970年1月1日到上次口令修改日期的天数。–口令上次修改后,要过多少天才能再修改。若为0表示没有时间限制。–如果口令有期限限制,要过期前多少天向用户示警。一般系统默认为7天。–从1970年1月1日到账号过期的天数,未过期的账号则为空值。–保留域,未使用72019年12月21日/etc/group•/etc/group存储所有组账号的数据,一行表示一个组的信息,各域之间以冒号“:”分隔:–组名–“x”表示加密的组口令,口令的相关信息存储在/etc/gshadow文件中,其形式与/etc/shadow相似。–组ID(GID),系统生成的组ID小于500,管理员新建的第一个组ID为500,以后依次递增。–该组包含的用户账号列表,以逗号分隔。例如:bin:x:1:root,bin,daemon82019年12月21日/etc/gshadow•是根据/etc/group文件产生的,一行存储一个用户的信息,各域之间以冒号“:”分隔:–组账号名。–加密的口令密文。–组管理员列表,以“,”分隔。–组成员列表,以“,”分隔。92019年12月21日用户管理/命令•增加用户:useradd[选项]newusername-ddirName:指定用户主目录,默认情况下,将会在/home目录下新建一个与用户名相同的用户主目录。-sshellName:指定用户登录时使用的shell,默认的shell为/bin/bash。-ggName:指定用户归属的组名。默认地,每当创建一个新用户的时候,一个与用户名相同的组就会被创建,而这个用户就是该组的成员。-G组列表:在Linux系统中,一个用户可以属于一个组,也可以属于多个组,其中用户在初始化时属于的组称为主组。如果要让用户属于其它的组,应该使用选项-G组列表。-uuid:指定新用户的UID。102019年12月21日用户管理/命令•设置和修改用户口令:passwd[用户名]•只有超级用户可以使用“passwd用户名”修改其他用户的口令,普通用户只能用不带参数的passwd命令修改自己的口令。•例如:教材P157图9-1,图9-2112019年12月21日用户管理/命令•删除用户的命令为userdel,该命令的格式为:userdel用户名•如果系统不要保存该用户创建的文件,可以使用带选项的命令:userdel-r用户名122019年12月21日用户管理/命令•修改用户属性usermod–g主组名-G组名-d用户主目录-s用户shell•增加用户组groupadd新组名•删除用户组groupdel组名•修改组成员:用useradd/usermod或直接编辑/etc/group文件,将用户名写到对应的组名的后面。例如:bin:x:1:root,bin,daemon132019年12月21日图形界面的用户管理选择“系统”→“管理”→“用户和组群”或在Shell提示符下键入:system-config-users142019年12月21日图形界面的用户管理选择“编辑”→“首选项”→“首选项”对话框152019年12月21日图形界面的用户管理162019年12月21日图形界面的用户管理172019年12月21日图形界面的用户管理182019年12月21日图形界面的用户管理192019年12月21日图形界面的用户管理202019年12月21日账号管理和查看命令•Whoami:该命令的功能在于显示用户自身的用户名。•who[选项]:该命令主要用于查看当前在线的用户情况。•w命令:用于显示登录到系统的用户情况•finger:该命令可用于查找和显示用户信息,并在查找后显示指定账号的相关信息。•Chfn:命令能够改变系统存储的用户信息。•su[用户名]:用于切换用户身份212019年12月21日账号管理和查看命令例如:[obg@obglinuxobg1]$fingerobgLogin:obgName:(null)Directory:/home/obg1Shell:/bin/bashOnsinceMonNov2221:29(CST)onpts/0from192.168.1.3Nomail.NoPlan.222019年12月21日账号管理和查看命令•例如:[new@obglinuxnew]$chfnChangingfingerinformationfornew.Name[]:masengerOffice[]:jkxOfficePhone[]:2276302HomePhone[]:2121212Fingerinformationchanged232019年12月21日文件权限管理•Linux/Unix的文件访问权限分为三级:文件主(user)同组用户(group)其他用户(others)•访问权限规定三种访问文件或目录的方式:读(r)写(w)可执行或查找(x)242019年12月21日文件权限管理rwxrwxrwxusergroupothers•一个普通文件r:可以查看文件内容w:可以修改文件内容x:可以执行文件•一个目录(文件夹)r:可以查看文件夹下的文件w:可以在文件夹下创建和删除文件x:可以进入文件夹或者访问文件夹下的文件252019年12月21日文件权限管理•更改文件所有者命令chownchown[选项]user[:group]file...•例1:将目录/usr/mengqc及其下面的所有文件、子目录的文件主改变成liu。chown-Rliu/usr/mengqc•例2:把文件chap1.txt的拥有者改为longkey,同时所属组改为root组。chownlongkey:rootchap1.txt262019年12月21日文件权限管理•更改文件访问权限命令chmodchmod[选项]modefile...mode:[[ugoa][+-=][rwxX]…][,…]u(user)表示文件的所有者g(group)表示文件的所属组o(others)表示其他用户a(all)代表所有用户(即u+g+o)r表示读权限w表示写权限x表示执行权限272019年12月21日文件权限管理•例1:将文件ex1的权限改为所有用户对其都有执行权限。chmoda+xex1•例2:将文件ex1的权限重新设置为文件主可以读和执行,组用户可以执行,其他用户无权访问。chmodu=r,ug=xex1282019年12月21日文件权限管理•更改文件访问权限命令chmodchmod[选项]modefile...其中mode也可以用数字来表示权限:chmodabcfile•a,b,c各为一个数字,分别表示User、Group、及Other的权限。•用三位二进制数表示其rwx权限,000~111对应设置位,r为100、w为010、x为001,转换为十进制,读、写、执行权限依次对应4、2、1。•权限是关于可读(r)、可写(w)、可执行(r)三个属性设置值的和。292019年12月21日文件权限管理•例如:–若要rwx属性,二进制数表示为:111,则八进制数为:4+2+1=7–若要rw-属性,二进制数表示为:110,则八进制数为:4+2=6–若要r-x属性,二进制数表示为:101,则八进制数为:4+1=5缺省的文件权限:/etc/passwdrw-r--r--644/etc/shadowr--------400302019年12月21日文件权限管理例如:对于文件chap1.txt用户usergroupothers权限rwxrw-r--二进制1111101004+2+14+2+04+0+0八进制764chmod764chap1.txt等同于chmodu=rwx,g=rw,o=rchap1.txt312019年12月21日文件权限管理•改变文件或目录的所属组命令chgrp•chgrp[选项]groupfile•说明:如果用户不是该文件的文件主或超级用户,则不能改变该文件或目录的所属组。chown可以同时改变文件拥有者和所属组,chgrp只具有改变所属组的功能。•参数选项:•-R递归式地改变指定目录及其下面的所有子目录和文件的用户组。322019年12月21日文件权限管理•例1:将文件“chap1.txt”的所属组改为root组。•chgrprootchap1.txt•例2:将/usr/mengqc及其子目录下的所有文件的用户组改为mengxin。•chgrp-Rmengxin/usr/mengqc332019年12月21日进程管理/进程的概念•Linux系统上所有运行的任务都可以称之为一个进程。每个用户任务、每个系统管理任务都可以称之为进程。进程是一个程序的运行。•Linux用分时管理的方法使所有的进程共享系统资源。342019年12月21日进程的概念•Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性:•交互进程:由shell启动的进程。•批处理进程:这种进程和终端没有联系,是一个进程序列。•守护进程:(Daemon,也称为精灵进程)在后台持续运行的进程。352019年12月21日启动进程/手工启动•手工启动–前台启动:一般地,用户键入一个命令,就已经启动了一个前台的进程。–后台启动:对于非常耗时进程,可以让进程在后台运行。从后台启动进程其实就是在命令结尾加上一个“&”号。362019年12月21日启动进程/调度启动•调度启动1)at命令:在指定时刻执行命令序列–在shell提示符下输入”at时间”,回车后可以在之后的at提示符下输入任务指令,每一行输入一个命令,所有命令都输入完毕后按Ctrl+d存盘退出。–将各个命令写入shell脚本中,然后使用下面格式设置在指定时间执行shell脚本中的命令:at时间–f脚本文件372019年12月21日启动进程/调度启动•at命令的写法非常灵活•例1:指定在今天下午6:30执行某命令。假设现在时间是2011年3月25日下午15:30,其命令格式如下:•at6:30pm•at18:30•at18:30today•atnow+3hours•atnow+18