linux系统管理之中标

上传人:新** 文档编号:580613941 上传时间:2024-08-29 格式:PPT 页数:65 大小:805.53KB
返回 下载 相关 举报
linux系统管理之中标_第1页
第1页 / 共65页
linux系统管理之中标_第2页
第2页 / 共65页
linux系统管理之中标_第3页
第3页 / 共65页
linux系统管理之中标_第4页
第4页 / 共65页
linux系统管理之中标_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《linux系统管理之中标》由会员分享,可在线阅读,更多相关《linux系统管理之中标(65页珍藏版)》请在金锄头文库上搜索。

1、上海中标软件有限公司中中标标普普华华系列培系列培训讲义训讲义 系系统统管理管理 Linux系系统统管理本章学管理本章学习习目目标标软软件包管理件包管理进进程管理程管理系系统统性能性能优优化化用用户户和用和用户组户组管理管理Linux下的软件包管理Linux的一大特色就是采用Red Hat Package Manager(RPM)技术来安装和删除程序。由此大部分软件的升级、安装都要涉及到rpm包的问题 安装安装 rpm 包的格式是包的格式是这样这样的:的:foo-1.0-1.i386.rpm其中其中foo是包的名称,是包的名称,1.0是包的是包的发发行版本,行版本,1是是发发行的次数,而行的次数

2、,而i386代代表在哪个系表在哪个系统统上使用(此上使用(此处为处为x86系系统统)。)。安装安装rpm包的命令格式是:包的命令格式是: rpm -i 安装安装选项选项 比如我比如我们们想安装想安装foo-1.0-1.i386.rpm可以敲入以下命令可以敲入以下命令:rpm -i foo-1.0-1.i386.rpm 升级升升级级其其实实就是先反安装文件再安装新的就是先反安装文件再安装新的rpm包,具体格式如下:包,具体格式如下:rpm -U 升升级选项级选项 其其实实在以上两个操作中我在以上两个操作中我们们可以添加一些可以添加一些选项选项来使安装来使安装/升升级级更直更直观观一一些:些:“h

3、”可以用可以用“#”来表示安装的来表示安装的进进度;度;“v”可以可以显显示示较较多的提示。多的提示。因此我因此我们们更常用的方法是:更常用的方法是:rpm -ivh 安装安装软软件件rpm -Uvh 升升级软级软件件 查询命令格式如下:命令格式如下:rpm -q 查询选项查询选项:其中当其中当查询选项为查询选项为一个文件包的名字一个文件包的名字时时,会把文,会把文件包的名称及版本的件包的名称及版本的详细资详细资料料显显示出来。示出来。-i 显示软件包的概要信息-l 显示软件包中的文件列表-c 显示配置文件列表-d 显示文档文件列表-s 显示软件包中文件列表并显示每个文件的状态-scripts

4、 显示安装、卸载、校验脚本-queryformat (or -qf) 以用户指定的方式显示查询信息-dump 显示每个文件的所有已校验信息-provides 显示软件包提供的功能-requires (or -R) 显示软件包所需的功能下面具体列几个常用的下面具体列几个常用的组组合:合:rpm -qa 查询查询所有安装的包所有安装的包rpm -qf foo 将包含有将包含有foo文件的包的名字文件的包的名字显显示出来示出来rpm -ql PCD.rpm把把PCD.rpm包里所有包里所有详细详细情况列出情况列出rpm -qa |grep PCD 察看察看PCD文件是否安装文件是否安装 校验命令格式

5、为rpm V 校验选项在校验正常时你不会看到任何结果,如果发现有任何异常的地方,将会以它特定的方法显示出来。参数pkg1 . pkgN 将要校验的软件包名软件包选项-f 校验所属的软件包-a Verify 校验所有的软件包-g 校验所有属于组 的软件包详细选项-noscripts 不运行校验脚本-nodeps 不校验依赖性-nofiles 不校验文件属性 删除软件包命令格式:rpm e 注意:这里不能输入全部的软件包名称,否则将无法卸载!其他补充命令test percent excludedocs includedocs replacepkgs replacefiles force noscr

6、ipts prefix ignorearch ignoreos nodeps 其他其他打包文件非RPM包的程序大多使用tar来打包,gzip来压缩。tar全名为Tap ARchiver,作用是把一大堆文件打包成一个文件(即tar文件)。但tar文件是没有经过压缩的,要用gzip来压缩。所以我们现在通常看见的 tar打包程序大都是以.tar.gz或.tgz结尾的压缩文件。在Linux的命令行上键入以下命令:tar xvfz filename.tar.gz(或filename.tgz)有时候我们从网上下载了.tar.gz或.tgz文件,往往需要先看看里面的内容再决定是否安装。在Linux下,查看.

7、tar.gz和.tgz文件内容的命令是:tar tfz filename.tar.gz在WIN95/98的环境里,Winzip 7.0也可以解压和查看.tar.gz文件的内容。 安装源代码包 方法一1.执行rpm i yourpackage.src.rpm2. cd /usr/src/redhat/SPECS3. rpmbuild bp yourpackage.specs 一个和你的软件包同名的specs文件4. cd /usr/src/redhat/BUILD/yourpackage/ 一个和你的软件包同名的目录5. ./configure 这一步和编译普通的源码软件一样,可以加上参数6.

8、make7. make install 安装源代码包 方法二1.执行rpm i youpackage.src.rpm2. cd /usr/src/redhat/SPECS前两步和方法一相同3. rpmbuild bb yourpackage.specs 一个和你的软件包同名的specs文件这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等)在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。执行rpm i newpackage.rpm即可安装完成。 如何卸载rpm软件包补充使用命令 rpm e 包名,包名可以包含版本号等信

9、息,但是不可以有后缀.rpm比如卸载软件包proftpd1.2.81,可以使用下列格式:rpm e proftpd1.2.81rpm e proftpd1.2.8rpm e proftpdrpm e proftpd不可以是下列格式:rpm e proftpd1.2.81.i386.rpmrpm e proftpd1.2.81.i386rpm e proftpd1.2rpm e proftpd1有时会出现一些错误或者警告:. is needed by . 这说明这个软件被其他软件需要,不能随便卸载可以用rpe nodeps强制卸载 应用实例假如你不小心删除了一些文件而又不能肯定是哪些,你可以检查

10、整个系统来找出它们:rpm Va如果你想知道某个文件是来自哪个rpm包的:rpm qf 文件名如果你正在使用某个文件又想知道更多的关于它的资料,可以输入:rpm qdf 文件名 来找出这个文件的路径。如果你有一个新的rpm包又想知道更多的关于这个包的资料:rpm qip 文件包名称应用实例一个rpm包中包含那些文件一个没有安装过的软件包,使用rpm qlp *.rpm一个已经安装过的软件包,还可以使用rpm ql *.rpm 获取关于一个软件包的版本,用途等相关信息?一个没有安装过的软件包,使用rpm qip *.rpm一个已经安装过的软件包,还可以使用rpm qi *.rpm 应用实例某个文

11、件是哪个软件包安装的,或者哪个软件包包含这个文件注意首先获得这个程序的完整路径,可以用whereis或者which然后使用rpm qf例如:# whereis ftptopftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz# rpm qf /usr/bin/ftptopproftpd1.2.81# rpm qf /usr/share/doc/proftpd1.2.8/rfc/rfc0959.txtproftpd1.2.81其他知识软件包文件名中的i386,i686是什么意思rpm软件包的文件名中,不仅包含了软件名称,版本信息,还包括了

12、适用的硬件架构的信息。i386指这个软件包适用于intel 80386以上的x86架构的计算机(AI32)i686指这个软件包适用于intel 80686以上(奔腾pro以上)的x86架构的计算机(IA32)noarch指这个软件包于硬件架构无关,可以通用。i686软件包的程序通常针对CPU进行了优化,所以,向后兼容比较用以,i386的包在x86机器上都可以用。向前一般不兼容。不过现在的计算机,奔腾pro以下的CPU已经很少用,通常配置的机器都可以使用i686软件包常见问题不同操作系统发行的rpm包可否混用? 用rpm e *.rpm无法删除rpm包 在MS的系统下有没有读RPM文件的工具 l

13、inux图形下有没有工具? 是否可以通过ftp安装安装升级rpm包rpm -ivh ftp:/xxxxxxxx/PATH2SomeRPM ftp:/xxxxxxxx/PATH2SomeRPM Rpm安装时已有的包版本过高怎么办 Linux的启动和运行级别重要文件及目录重要文件及目录/etc/inittab/etc/inittab/etc/rc.d/etc/rc.d/etc/grub.conf/etc/grub.conf启动的服务启动的服务NtsysvNtsysv系统日志DmesgDmesg/var/log/(lastlog/wtmp/utmp)/var/log/(lastlog/wtmp/ut

14、mp)/var/log/secure/var/log/secureetc/syslog.confetc/syslog.confsystem-logviwersystem-logviwer3.3 进程管理进程管理3.3.1 进程的定义进程的定义LinuxLinux是是一一个个多多用用户户多多任任务务的的操操作作系系统统。多多用用户户是是指指多多个个用用户户可可以以在在同同一一时时间间使使用用计计算算机机系系统统;多多任任务务是是指指LinuxLinux可可以以同同时时执执行行几几个个任任务务,它它可可以以在在还还未未执执行行完完一一个个任任务务时时又又执执行另一项任务。行另一项任务。 那那到到底

15、底什什么么叫叫进进程程?LinuxLinux系系统统上上所所有有运运行行的的程程序序都都可可以以称称之之为为一一个个进进程程。LinuxLinux用用分分时时管管理理方方法法使使所所有有的的任任务务共共同同分分享享系系统统资资源源。进进程程的的一一个个比比较较正正式式的的定定义义是是 在在自自身身的的虚虚拟拟地地址址空空间间运运行行的的一一个个单单独独的的程程序序。进进程程与与程程序序是是有有区区别别的的,进进程程不不是是程程序序,虽虽然然它它由由程程序序产产生生。程程序序只只是是一一个个静静态态的的指指令令集集合合,不不占占系系统统的的运运行行资资源源;而而进进程程是是一一个个随随时时都都可

16、可能能发发生生变变化化的的、动动态态的的、使使用用系系统统运运行行资资源源的的程程序序。而而且且一个程序可以启动多个进程。一个程序可以启动多个进程。 3.3.2 3.3.2 报告进程状态报告进程状态要对进程进行监测和控制,首先必须要了解当前进程的情要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而况,也就是需要查看当前进程,而ps命令就是最基本同时也命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行、运行的状态、进程是否结束、哪些进程占用了程正在运行、运行的状态、进程是否结束、哪些

17、进程占用了过多的资源等等。过多的资源等等。psps命令最常用的还是用于监控后台进程的工作情况,因为后命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入台进程是不和屏幕键盘这些标准输入/ /输出设备进行通信的,输出设备进行通信的,所以如果需要检测其情况,便可以使用所以如果需要检测其情况,便可以使用psps命令。其命令语法命令。其命令语法格式如下:格式如下: ps ps 选项选项 命令中的选项说明如下:命令中的选项说明如下: -e:显示所有进程。-f:全格式。-h:不显示标题。-l:给出长列表。-a:显示终端上的所有进程,包括其他用户的进程。-r:只显示正在运行的进

18、程。-x显示没有控制终端的进程。-txx:只显示受tty.xx控制的进程。-u:打印用户格式,显示用户名和起始时间。-j:按作业格式输出。-v:按虚拟存储器格式显示输出。-m:显示存储器信息。-S:增加子CPU时间和页面出错。-w:用宽格式显示,不截取命令行,使它成为一行。-r:只显示正在运行的进程。表 ps命令输出字段的含义字段含义USER进程所有者的用户名PID进程号%CPU进程自最近一次刷新以来所占用的CPU时间和总时间的百分比%MEM进程使用内存的百分比VSZ进程使用的虚拟内存大小,以K为单位RSS驻留空间的大小。显示当前常驻内存的程序的K字节数。TTY进程相关的终端STAT进程状态,

19、用下面的代码中的一个给出:R:可执行的。S:睡眠状态。D:不间断睡眠。T:停止或跟踪。Z:僵尸。W:进程没有驻留页。I:空闲。TIME进程使用的总CPU时间COMMAND 被执行的命令行NI进程的优先级值,较小的数字意味着占用较少的CPU时间PRI进程优先级。PPID父进程IDWCHAN进程等待的内核事件名top使用方式:top - d delay q c S s i n b top -n 1 -b | grep Mem top1.outd : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 sc : 切换显示模式,共有两种模式,一是只显示执行档的名称,另

20、一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来s : 安全模式,将交谈式指令取消, 避免潜在的危机i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程n : 更新的次数,完成后将会退出 topb : 批次档模式,搭配 n 参数一起使用,可以用来将 top 的结果输出到档案内 显示说明显示说明17:31:42 up 18 days, 23:38, 1 user, load average: 0.00, 0.00, 0.0017:31:42 up 18 days, 23:38, 1

21、 user, load average: 0.00, 0.00, 0.00当前时间当前时间 系统运行时间系统运行时间 当前用户数当前用户数 平均负责(平均负责(1 1、5 5、1010分钟)分钟)94 processes: 93 sleeping, 1 running, 0 zombie, 0 stopped94 processes: 93 sleeping, 1 running, 0 zombie, 0 stopped进程总数进程总数 休眠进程数休眠进程数 运行进程数运行进程数 僵死进程数僵死进程数 终止进程数终止进程数CPU states: cpu user nice system irq

22、 softirq iowait idleCPU states: cpu user nice system irq softirq iowait idletotal 0.0% 0.0% 0.1% 0.0% 0.0% 0.0% 99.8%total 0.0% 0.0% 0.1% 0.0% 0.0% 0.0% 99.8%cpu00 0.0% 0.0% 0.3% 0.0% 0.0% 0.0% 99.6%cpu00 0.0% 0.0% 0.3% 0.0% 0.0% 0.0% 99.6%cpu01 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 100.0%cpu01 0.0% 0.0% 0.

23、0% 0.0% 0.0% 0.0% 100.0%cpucpu状态状态 用户占用用户占用 优先优先. . 系统系统. . 中断中断 软中断软中断 ? 空闲空闲Mem: 3094664k av, 2627700k used, 466964k free, 0k shrd, 120776k buffMem: 3094664k av, 2627700k used, 466964k free, 0k shrd, 120776k buff1434068k actv, 155972k in_d, 41624k in_c1434068k actv, 155972k in_d, 41624k in_cSwap:

24、2048248k av, 130068k used, 1918180k free 1319416k cachedSwap: 2048248k av, 130068k used, 1918180k free 1319416k cached内存使用情况:可用内存,已使用内存,空闲内存内存使用情况:可用内存,已使用内存,空闲内存.swapswap情况:情况:= =PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COMMANDPID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COM

25、MAND9590 root 25 0 172M 172M 11740 S 4.3 5.7 0:17 0 java9590 root 25 0 172M 172M 11740 S 4.3 5.7 0:17 0 javaPID 每个进程的IDUSER 进程所有者的用户名PRI 每个进程的优先级别NI 每个优先级的值SIZE 进程的代码大小加上数据大小再加上堆栈空间大小的总数,单位是KBRSS 进程占用的物理内存的总数量,单位是KBSHARE 进程使用共享内存的数量STAT 进程的状态。其中S代表休眠状态;D代表不可中断的休眠状态;R代表运行状态;Z代表僵死状态;T代表停止或跟踪状态%CPU 进程自

26、最近一次刷新以来所占用的CPU时间和总时间的百分比%MEM 进程占用的物理内存占总内存的百分比TIME 进程自启动以来所占用的总CPU时间CPU CPU标识COMMAND 进程的命令名称vmstatvmstat 1 1 是更新速度,1位1秒procs -memory-swap-io-system-cpu-r b swpd free buff cache si so bi bo in cs us sy id wa1 0 549368 13316 102388 91992 12 6 9 8 2 12 72 3 25 02 0 549368 13316 102388 91992 0 0 0 0 15

27、6 1516 98 2 0 02 0 549368 13312 102388 91992 0 0 0 0 125 534 99 1 0 0 Procs:r: The number of processes waiting for run time.b: The number of processes in uninterruptible sleep.Memory:swpd: the amount of virtual memory used.free: the amount of idle memory.buff: the amount of memory used as buffers.ca

28、che: the amount of memory used as cache.Swap:si: Amount of memory swapped in from disk (/s).so: Amount of memory swapped to disk (/s).IO:bi: Blocks received from a block device (blocks/s).bo: Blocks sent to a block device (blocks/s).System:in: The number of interrupts per second, including the clock

29、.cs: The number of context switches per second.CPU:These are percentages of total CPU time.us: Time spent running non-kernel code. (user time, including nice time)sy: Time spent running kernel code. (system time)id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.wa: Time spent wa

30、iting for IO. Prior to Linux 2.5.41, shown as zero.iostatrootlinux # iostat -c|-d -k -t 间隔秒數 探测次数参数:-c :仅显示 CPU 的状态;-d :仅显示存储设备的状态,不可与 -c 一起用;-k :预设显示的是 block ,这里可以改成 K bytes 的大小來显示;-t :显示日期出來;# iostat -xLinux 2.4.21-9.30AX (localhost) 2006年07月14日avg-cpu: %user %nice %sys %idle3.85 0.00 0.95 95.20De

31、vice: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util/dev/hda 1.70 1.70 0.82 0.82 19.88 20.22 9.94 10.11 24.50 11.83 57.81 610.76 99.96/dev/hda1 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 12.92 0.00 10.77 10.77 0.00/dev/hda5 0.02 0.00 0.00 0.00 0.03 0.00 0.02 0.00 6.

32、60 0.00 6.44 6.04 0.00/dev/hda6 0.01 0.38 0.05 0.03 0.43 3.25 0.21 1.62 46.90 0.15 193.96 52.25 0.41/dev/hda7 1.66 1.33 0.76 0.79 19.41 16.97 9.70 8.49 23.44 0.79 51.13 19.79 3.07r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/sw/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/srsec/s: 每秒读扇区数。即 delta(rsect)/swsec/s: 每秒写扇区数。即 del

33、ta(wsect)/srkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。wkB/s: 每秒写K字节数。是 wsect/s 的一半。avgrqsz: 平均每次设备I/O操作的数据大小 (扇区)。即 delta(rsect+wsect)/delta(rio+wio)avgqusz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 del

34、ta(use)/delta(rio+wio)%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的小经验小经验如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。svctm 一般要小于 await (因为同时等待的请求的等待时间被重复计算了),svctm 的大小一般和磁盘性能有关,CPU/内存的负荷也会对其有影响,请求过多也会间接导致 svctm 的增加。await 的大小一般取决于服务时间(svctm) 以及I/O 队列的长度和 I/O 请求的发出模式。如果 svctm 比较接近 await,说

35、明I/O 几乎没有等待时间;如果 await 远大于 svctm,说明 I/O 队列太长,应用得到的响应时间变慢,如果响应时间超过了用户可以容许的范围,这时可以考虑更换更快的磁盘,调整内核算法,优化应用,或者升级 CPU。队列长度(avgqu-sz)也可作为衡量系统 I/O 负荷的指标,但由于 avgqu-sz 是按照单位时间的平均值,所以不能反映瞬间的 I/O 高锋系统性能优化经常出现经常出现CPUCPU等待等待I/O?I/O?磁盘的工作集中在某个或某几个上?磁盘的工作集中在某个或某几个上?CPUCPU一直是满负载?一直是满负载?Raid Raid 技术提高技术提高I/OI/O性能性能更先进

36、的接口技术更先进的接口技术 更高性能磁盘更高性能磁盘应用调整应用调整进程管理进程管理3.3.3 3.3.3 结束进程结束进程当当需需要要中中断断一一个个前前台台进进程程的的时时候候,通通常常是是使使用用组组合合键键;但但是是对对于于一一个个后后台台进进程程这这个个组组合合键键是是不不能能达达到到目目的的的的。这这时时就就必必须须使使用用kill命命令令,该该命命令令可可以以终终止止后后台台进进程程。至至于于终终止止后后台台进进程程的的原原因因很很多多,或或许许是是该该进进程程占占用用的的CPU时时间间过过多多;或或许许是是该该进进程程已已经经挂死。挂死。killkill命令的语法格式很简单,大

37、致有以下两种方命令的语法格式很简单,大致有以下两种方式:式:kill -s kill -s 信号信号 | -p -a | -p -a 进程号进程号 kill -l kill -l 信号信号 命令中的参数说明如下:命令中的参数说明如下: -s-s:指定需要送出的信号。既可以是信号名也可以对应数字。:指定需要送出的信号。既可以是信号名也可以对应数字。 -p-p:指定:指定killkill命令只是显示进程的命令只是显示进程的pidpid,并不真正送出结束信号。,并不真正送出结束信号。-l-l:显示信号名称列表,这也可以在:显示信号名称列表,这也可以在/usr/include/linux/signal

38、.h/usr/include/linux/signal.h文件中找到。文件中找到。 特殊应用:特殊应用:Kill -SIGKILL 0Kill -SIGKILL 03.3.4 3.3.4 进程调度进程调度Nice !Nice !查看进程的查看进程的nicenice值值 重新调度重新调度nicenice值值 renice renice 只能提高,不能降低。只能提高,不能降低。 Root Root可以降低可以降低nicenice 只是短时间的权益之计只是短时间的权益之计SleepSleep进程进程ls;sleep 1m;lsls;sleep 1m;ls进程调度 后台执行后台执行top &top &

39、ctrl+z ctrl+z 可终止可终止jobsjobsfg %nfg %nbg %nbg %nnohup nohup 退出登陆后继续执行退出登陆后继续执行nohup make &nohup make &任务的定期调度etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# run-parts01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-

40、parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthlminute hour day month dayofweek commandcrontab的时间格式minute hour day month dayofweek command在以上任何值中,星号(*)可以用来代表所有有效的值。譬如,月份值中的星号意味着在满足其它制约条件后每月都执行该命令。整数间的短线(-)指定一个整数范围。譬如,1-4 意味着整数 1、2、3、4。用逗号(,)隔开的一系列值指定一个列表。譬如,3, 4, 6, 8 标明这四个指定的整数。正斜线(

41、/)可以用来指定间隔频率。在范围后加上 / 意味着在范围内可以跳过 integer。譬如,0-59/2 可以用来在分钟字段定义每两分钟。间隔频率值还可以和星号一起使用。例如,*/3 的值可以用在月份字段中表示每三个月运行一次任务。 crontab -u 用户名 -e /在root用户中给普通用户加计划任务编辑操作55 23 * * 03 lp /usr/local/message|mail -s today message rootAt 命令atat命令在一定时间后或在一定时刻内执行设命令在一定时间后或在一定时刻内执行设置好的命令置好的命令标准输入读取标准输入读取 at 1:00am +2da

42、ys at 1:00am +2days echo Hello|mail root echo Hello|mail root ctrl+D ctrl+Datq at -l atq at -l 查询查询atrm atrm 删除删除3.2 用户和工作组管理用户和工作组管理1. 1. 用户账号文件passwdpasswdPasswd 是一个文本文件,用于定义系统的用户账号,该是一个文本文件,用于定义系统的用户账号,该文件位于文件位于“/etc”目录下。它包含了一个系统账户列表,目录下。它包含了一个系统账户列表,给出每个账户一些有用的信息,例如,用户给出每个账户一些有用的信息,例如,用户 ID、组、组

43、ID、主目录、主目录、shell等等。由于所有用户都对等等。由于所有用户都对passwd有读权限,有读权限,所以该文件中只定义用户账号,而不保存口令。所以该文件中只定义用户账号,而不保存口令。passwdpasswd文件中每行定义一个用户账号,一行中又划分为多文件中每行定义一个用户账号,一行中又划分为多个字段定义用户的账号的不同属性,各字段用个字段定义用户的账号的不同属性,各字段用“:”隔开。隔开。图图3-13-1中显示了中显示了passwdpasswd文件的前文件的前1010行内容。在图中显示出行内容。在图中显示出了文件显示各用户的每一个字段,各字段的说明如表了文件显示各用户的每一个字段,各

44、字段的说明如表3-13-1所示。所示。 表3-1passwd文件各字段说明字段说明Account使用者在系统中的名字,它不能包含大写字母。Password用户口令,出于安全考虑,现在不使用该字段保存口令,而用字母“x”来填充该字段,真正的密码保存在shadow文件。UID用户ID号,惟一表示某用户的数字。GID用户所属的私有组号,该数字对应group文件中的GID。GECOS这字段是可选的,通常用于保存用户命名的信息。Directory用户的主目录,用户成功登录后的默认目录。shell用户所使用的shell,如该字段为空则使用“/bin/sh”。从图3-2中可以看出,“/etc/shadow”

45、文件中的每个记录用“:”隔开为9个域,每个域的含义分别为:登录名加密口令口令上次更改时距1970年1月1日的天数口令更改后不可以更改的天数口令更改后必须再更改的天数(有效期)口令失效前警告用户的天数口令失效后距账号被查封的天数账号被封时距1970年1月1日的天数保留未用3. 用户组账号文件group用户组是逻辑地组织用户账号集合的方便途径,它允许用户在组内共享文件。系统上的每一个文件都有一个用户和一个组的属主。使用“ls l”命令可以看到每一个文件的属主和组。于系统上的每个组,在/etc/passwd文件中有一行记录,记录的格式为: groupname : passwd : GID : use

46、rlist表3-2group文件字段说明字段说明Groupname是组的名字Passwd是组的加密口令GID是系统区分不同组的ID,在/etc/passwd域中的GID域是用这个数来指定用户的缺省组。Userlist是用“,”分开的用户名,列出的是这个组的成员。4. 用户口令文件gshadowgshadow文件用于定义用户组口令、组管理员等信息,该文件只有root用户可以读取。Gshadow文件中每行定义一个用户组信息,行中各字段间用“:”分隔,每行记录的格式为:groupname : Encrypted password: Group administrators: Group member

47、s各字段的的含义如表3-3所示。在图3-4中给出了该文件的属性及文件的部分内容。字段说明Groupname 用户组名称,该字段与group文件中的组名称对应。Encryptedpassword 用户组口令,该字段用于保存已加密的口令Groupadministrators 组的管理员账号,管理员有权对该组添加删除账号。Groupmembers属于该组的用户成员列表,列表中多个用户间用“,”分隔。3.2.2 用用户户和和组账户组账户的的维护维护命令命令1.增加用增加用户帐户帐号号在命令行下使用在命令行下使用useradd命令:命令:useradd用用户户名名该该命令做了下面几件事:命令做了下面几件

48、事:1)在)在/etc/passwd文件中增添了一行文件中增添了一行记录记录;2)在在/home目目录录下下创创建建新新用用户户的的主主目目录录,并并将将/etc/skel目目录录中中的的文文件件拷拷贝贝到到该该目目录录中中去去;但但是是使使用用了了该该命命令令后后,新新建建的的用用户户暂暂时时还还无无法法登登录录,因因为为还还没没有有为为该该用用户户设设置置口口令令,需需要要再再用用passwd命命令令为为其其设设置置口口令令后后,才才能能登登录录。用用户户的的UID和和GID是是useradd自自动动选选取取的的,它它是是将将/etc/passwd文文件件中中的的UID加加1,将将etc/

49、group文文件中的件中的GID加加1。增加新用户时,系统将为用户创建一个与用户名相同的组,称为私有组。这一方法是为了能让新用户与其他用户隔离,确保安全性的措施 下面通过增加一个用户“liuyidan”,以及查看其相关信息,来帮助用户理解该命令所执行的操作。其在终端上的操作命令及响应如图35所示。#useradd liuyidan /建立用户账号#tail l /etc/passwd /查看password文件中添加的用户账号信息#tail l /etc/shadow # ls /home/查看所建立账号的主目录选项功能描述g用于添加用户账号时指定该用户的私有组。如不指定“g”参数,usera

50、dd命令将自动建立与用户账号同名的组作为该账号的私有组。D用于显示或设置useradd命令所使用的默认值在“-g”选项时,其语法格式如下:useraddg组名用户名在“-D”选项中,如果是用来修改useradd命令所使用的默认值,那么该命令使用的语法格式如下:useraddD-ggroup-bbase-sshell-finactive-eexpire2. 修改用修改用户账户账号号usermodusermod命命令令可可用用来来修修改改用用户户帐帐号号的的各各种种属属性性,包包括括用用户户主主目目录录、私私有有组组、登、登录录、shell等内容。等内容。Usermod的命令格式如下:的命令格式如

51、下:usermod-LU-c-d-e-f-g-G-l-s-u用用户帐户帐号号该该命令的各个参数命令的各个参数说说明如下:明如下:-c:修改用修改用户帐户帐号的号的备备注文字。注文字。-d:修改用修改用户户登入登入时时的目的目录录。-e:修改修改帐帐号的有效期限。号的有效期限。-f:修改在密:修改在密码过码过期后多少天即关期后多少天即关闭该帐闭该帐号。号。-g:修改用修改用户户所属的群所属的群组组。-l:修改用:修改用户帐户帐号的名称号的名称下面举例说明该命令的使用方法:( 1)修改用户名,把用户名“liuyidan”改名为“lyd”,使用的命令是:# usermod l lyd liuyida

52、n(2)锁定“lyd”用户,使其不能登录。命令如下:# usermod L lyd(3)解锁“lyd”用户账号,使其可以登录。命令如下:# usermod U lyd3. 删删除用除用户户userdeluserdel命令用于命令用于删删除指定的用除指定的用户账户账号。其使用的号。其使用的语语法格式法格式为为:userdel-r用用户账户账号号需需要要补补充充说说明明的的是是userdel命命令令可可删删除除用用户户账账号号与与相相关关的的文文件件。若若不不加加参参数数,则则仅仅删删除除用用户户账账号,而不号,而不删删除相关文件。除相关文件。其中参数其中参数“-f”是用来是用来删删除用除用户户登

53、入目登入目录录以及目以及目录录中所有文件。中所有文件。下面下面举举例例说说明明该该命令的使用方法:命令的使用方法:#greplyd/etc/passwd/查询查询用用户账户账号号lyd是否存在是否存在#userdellyd/删删除除lyd账账号号#greplyd/etc/passwd/再次再次查询查询用用户账户账号号lyd是否存在是否存在#lld/home/查询查询用用户户lyd的主的主目目录录是否是否还还存在存在#userdelrlyd/删删除用除用户户的同的同时时删删除其工作主目除其工作主目录录4. 组组增加命令增加命令groupaddgroupadd命令可指定群命令可指定群组组名称来建立

54、新的群名称来建立新的群组账组账号。号。该组账该组账号的号的ID值值必必须须是惟一的,且数是惟一的,且数值值不可不可为负为负。预设预设的最小的最小值值不得小于不得小于500,且,且每增加一个每增加一个组账组账号号ID值值逐次增加。逐次增加。ID值值0499是保留是保留给给系系统账统账号使号使用。用。该该指令使用的指令使用的语语法格式法格式为为:groupadd-rgroup其中其中“-r”参数是用来建立系参数是用来建立系统账统账号。系号。系统账统账号的号的ID值值不能大于不能大于500。下面下面举举例例说说明明该该命令的使用方法:命令的使用方法:#groupaddlbgroup/建立建立组账组账

55、 号号lbgroup#greplbgroup/etc/group /查询查询group文件中文件中lbgroup组组是否建立是否建立#groupaddrsyslbgroup /建立系建立系统组账统组账号号#greplbgroup/etc/group/查询查询group文件中文件中syslbgroup组组是否建立是否建立5. 组账组账号修改号修改groupmod命令用来更改群命令用来更改群组识别码组识别码或名称。或名称。该该命令的命令的语语法格式法格式为为:groupmod-g-n群群组组名称名称命令中所使用的参数命令中所使用的参数说说明如下:明如下:-g设设置欲使用的群置欲使用的群组识别码组识

56、别码。-o重复使用群重复使用群组识别码组识别码。-n设设置欲使用的群置欲使用的群组组名称。名称。下面举例说明该命令的使用方法:# grep lbgroup /etc/group/查询group文件中lbgroup组属性#groupmod g 503 lbgroup/改变lbgroup组的GID为503# grep lbgroup /etc/group/查询操作结果是否正确#groupmod n ydgroup lbgroup/改变lbgroup组名为ydgroup# grep 503 /etc/group/查询操作结果是否正确6. 删除组账号groupdel命令用于删除指定的组账号,若该群组中

57、仍包括某些用户,则必须先删除这些用户后,方能删除群组。该命令的语法格式为:groupdel 群组名称 7.口令维护命令出于系统安全考虑,Linux系统中的每一个用户除了有其用户名外,还有其对应的用户口令。因此使用useradd命令增加时,还需使用passwd命令为每一位新增加的用户设置口令;用户以后还可以随时用passwd命令改变自己的口令。该命令的一般格式为: passwd 用户名其中用户名为需要修改口令的用户名。只有超级用户可以使用“passwd 用户名”修改其他用户的口令,普通用户只能用不带参数的passwd命令修改自己的口令。 另外,passwd命令还可以使用一些参数选项,这些参数选项

58、可对账号的口令进行不同的操作,但这些带参数的passwd命令只有root用户可以使用。这些参数选择包括:-S:用于查询指定用户账号的状态。-l:用于锁定账号的口令。-u:解除锁定账号的口令。-d:删除指定账号的口令。8.组中用户成员的维护gpasswd命令可用于把一个账户添加到组、把一个账户从组中删除、把一个账户设为组管理员。(1)添加用户到使用的命令格式为:gpasswd a 用户账号名组账号名(2)从组中删除用户的命令格式为:gpasswd d 用户账号名 组账号名(3)设置用户为组管理员的命令格式为:gpasswd -A 组管理员用户列表用户组 3.2.3 用用户户和和组组的状的状态态命

59、令命令id命令idid命命令令用用于于显显示示用用户户当当前前的的UIDUID,gidgid以以及及所所属属群群组组的组列表该指令的语法格式为:的组列表该指令的语法格式为:id id 选项选项 用户名称用户名称 该命令所使用的选项参数说明如下:该命令所使用的选项参数说明如下: -g-g:显示用户所属群组的:显示用户所属群组的IDID。 -G-G:显示用户所属附加群组的:显示用户所属附加群组的IDID。 -n-n:显示用户,所属群组或附加群组的名称。:显示用户,所属群组或附加群组的名称。 -r-r:显示实际:显示实际IDID。 -u-u:显示用户:显示用户IDID。2. whoami命令whoa

60、mi命令用于显示登录者自身的用户名称,本指令相当于执行“id un”指令。3. su3. su命令su命令是用来将当前用户转换为其他用户身份。其命令的语法格式为:su -flmp -c -s 用户帐号需要指出的是su命令可让用户暂时变更登入的身份。变更时须输入所要变更的用户账号与密码。该命令中的选项参数说明如下: -c:执行完指定的指令后,即恢复原来的身份。-f:适用于csh与tsch,使shell不用去读取启动文件。-:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。-m,-p:变更身份时,不要变更环境变量。-s:指定要执行的s

61、hell。用户帐号:指定要变更的用户。若不指定此参数,则预设变更为root。4. groups4. groups命令groups命令用于显示指定用户所属的组,如未指定用户则显示当前用户所属的组。该命令的语法格式为:groups 用户名识别识别Linux中的用户中的用户1.查看用户的操作系统管理员在任一时刻都可查看用户的行为,在终端的提示符下输系统管理员在任一时刻都可查看用户的行为,在终端的提示符下输入入w命令即可命令即可命令响应中所示的信息分别说明如下:命令响应中所示的信息分别说明如下:第一行显示系统的汇总信息,字段分别表示系统当前时间、系统运行第一行显示系统的汇总信息,字段分别表示系统当前时

62、间、系统运行时间、登录用户总数及系统平均负载信息。对于该行显示的几个数据时间、登录用户总数及系统平均负载信息。对于该行显示的几个数据意义是:意义是: 4:50pm4:50pm 表示执行表示执行w w的时间是在下午的时间是在下午4:504:50。 0days,11:18 0days,11:18 表示系统运行表示系统运行0 0天天1111小时小时1818分。分。 4users4users 表示当前系统登录用户总数为表示当前系统登录用户总数为4 4 load average load average 与后面的数字一起表示系统在过去与后面的数字一起表示系统在过去1 1、5 5、 1010分钟内的负载程

63、度,数值越小,系统负载越轻。分钟内的负载程度,数值越小,系统负载越轻。 查看登录用户及日志文件信息查看登录用户及日志文件信息从第2行开始构成一个表格,共有8个栏目,分别显示各个用户正在做的事情及该用户所占用的系统资源: USER:显示登录用户名。用户重复登录,该账号也会重复出 现。TTY:用户登录所使用的终端。FORM: 显示用户从什么地方登录到系统。如果是从本地登录,此字段为“-”;如果从远程登录便会显示主机的IP地址或主机名。LOGIN:是LOGINAT的意思,表示登录进入系统的时间。IDLE:用户空闲时间,从用户上一次任务结束后开始计时。JCPU:以终端代号来区分,表示在某段时间内,所有

64、与该终 端相关的进程任务所耗费的CPU时间。PCPU:指WHAT域的任务执行后所耗费的CPU时间。WHAT:表示当前执行的任务。另外,使用W命令还可在有很多用户登录时,查看某一个具体的用户名,使用的命令形式如下:# w root2.查看登录用户系统管理员若想知道某一时刻有哪些用户登录到系统,可以使系统管理员若想知道某一时刻有哪些用户登录到系统,可以使用系统提供的用系统提供的who命令,该命令可以查看当前登录系统的用户命令,该命令可以查看当前登录系统的用户及其他相关系统信息。及其他相关系统信息。3.查看登录用户历史系统管理员可以随时查看用户登录的历史行为,还可查看某一系统管理员可以随时查看用户登录的历史行为,还可查看某一用户曾经登录到的系统,这些功能使用用户曾经登录到的系统,这些功能使用last命令即可实现。命令即可实现。上海中标软件有限公司本章内容复杂,难点比较多本章内容复杂,难点比较多请注意总结和练习请注意总结和练习

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号