linux系统管理之中标.ppt_第1页
linux系统管理之中标.ppt_第2页
linux系统管理之中标.ppt_第3页
linux系统管理之中标.ppt_第4页
linux系统管理之中标.ppt_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中标普华系列培训讲义,系统管理,Linux系统管理本章学习目标,软件包管理 进程管理 系统性能优化 用户和用户组管理,Linux下的软件包管理,Linux的一大特色就是采用Red Hat Package Manager(RPM)技术来安装和删除程序。由此大部分软件的升级、安装都要涉及到rpm包的问题,安装,rpm 包的格式是这样的:foo-1.0-1.i386.rpm 其中foo是包的名称,1.0是包的发行版本,1是发行的次数,而i386代表在哪个系统上使用(此处为x86系统)。 安装rpm包的命令格式是: rpm -i 安装选项 比如我们想安装foo-1.0-1.i386.rpm可以敲入以下命令: rpm -i foo-1.0-1.i386.rpm,升级,升级其实就是先反安装文件再安装新的rpm包,具体格式如下: rpm -U 升级选项 其实在以上两个操作中我们可以添加一些选项来使安装/升级更直观一些:“h”可以用“#”来表示安装的进度;“v”可以显示较多的提示。 因此我们更常用的方法是: rpm -ivh 安装软件 rpm -Uvh 升级软件,查询,命令格式如下: rpm -q 查询选项:其中当查询选项为一个文件包的名字时,会把文件包的名称及版本的详细资料显示出来。 -i 显示软件包的概要信息 -l 显示软件包中的文件列表 -c 显示配置文件列表 -d 显示文档文件列表 -s 显示软件包中文件列表并显示每个文件的状态 -scripts 显示安装、卸载、校验脚本 -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文件是否安装,校验,命令格式为rpm -V 校验选项 在校验正常时你不会看到任何结果,如果发现有任何异常的地方,将会以它特定的方法显示出来。 参数 pkg1 . pkgN 将要校验的软件包名 软件包选项 -f 校验所属的软件包 -a Verify 校验所有的软件包 -g 校验所有属于组 的软件包 详细选项 -noscripts 不运行校验脚本 -nodeps 不校验依赖性 -nofiles 不校验文件属性,删除软件包,命令格式: rpm -e 注意:这里不能输入全部的软件包名称,否则将无法卸载!,其他补充命令,-test -percent -excludedocs -includedocs -replacepkgs -replacefiles -force -noscripts -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下,查看.tar.gz和.tgz文件内容的命令是: tar tfz filename.tar.gz 在WIN95/98的环境里,Winzip 7.0也可以解压和查看.tar.gz文件的内容。,安装源代码包- 方法一,1.执行rpm -i your-package.src.rpm 2. cd /usr/src/redhat/SPECS 3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件 4. cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录 5. ./configure 这一步和编译普通的源码软件一样,可以加上参数 6. make 7. make install,安装源代码包- 方法二,1.执行rpm -i you-package.src.rpm 2. cd /usr/src/redhat/SPECS 前两步和方法一相同 3. rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件 这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等) 在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。 执行rpm -i new-package.rpm即可安装完成。,如何卸载rpm软件包-补充,使用命令 rpm -e 包名,包名可以包含版本号等信息,但是不可以有后缀.rpm 比如卸载软件包proftpd-1.2.8-1,可以使用下列格式: rpm -e proftpd-1.2.8-1 rpm -e proftpd-1.2.8 rpm -e proftpd- rpm -e proftpd 不可以是下列格式: rpm -e proftpd-1.2.8-1.i386.rpm rpm -e proftpd-1.2.8-1.i386 rpm -e proftpd-1.2 rpm -e proftpd-1 有时会出现一些错误或者警告: . is needed by . 这说明这个软件被其他软件需要,不能随便卸载 可以用rp-e -nodeps强制卸载,应用实例,假如你不小心删除了一些文件而又不能肯定是哪些,你可以检查整个系统来找出它们: rpm -Va 如果你想知道某个文件是来自哪个rpm包的: rpm -qf 文件名 如果你正在使用某个文件又想知道更多的关于它的资料,可以输入: rpm -qdf 文件名 来找出这个文件的路径。 如果你有一个新的rpm包又想知道更多的关于这个包的资料: rpm -qip 文件包名称,应用实例,一个rpm包中包含那些文件 一个没有安装过的软件包,使用rpm -qlp *.rpm 一个已经安装过的软件包,还可以使用rpm -ql *.rpm 获取关于一个软件包的版本,用途等相关信息? 一个没有安装过的软件包,使用rpm -qip *.rpm 一个已经安装过的软件包,还可以使用rpm -qi *.rpm,应用实例,某个文件是哪个软件包安装的,或者哪个软件包包含这个文件 注意 首先获得这个程序的完整路径,可以用whereis或者which 然后使用rpm -qf例如: # whereis ftptop ftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz # rpm -qf /usr/bin/ftptop proftpd-1.2.8-1 # rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txt proftpd-1.2.8-1,其他知识,软件包文件名中的i386,i686是什么意思 rpm软件包的文件名中,不仅包含了软件名称,版本信息,还包括了适用的硬件架构的信息。 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文件的工具 linux图形下有没有工具? 是否可以通过ftp安装安装升级rpm包 rpm -ivh ftp:/xxxxxxxx/PATH2SomeRPM Rpm安装时已有的包版本过高怎么办,Linux的启动和运行级别,重要文件及目录 /etc/inittab /etc/rc.d/ /etc/grub.conf 启动的服务 Ntsysv,系统日志,Dmesg /var/log/(lastlog/wtmp/utmp) /var/log/secure etc/syslog.conf system-logviwer,3.3 进程管理 3.3.1 进程的定义 Linux是一个多用户多任务的操作系统。多用户是指多个用户可以在同一时间使用计算机系统;多任务是指Linux可以同时执行几个任务,它可以在还未执行完一个任务时又执行另一项任务。 那到底什么叫进程?Linux系统上所有运行的程序都可以称之为一个进程。Linux用分时管理方法使所有的任务共同分享系统资源。进程的一个比较正式的定义是在自身的虚拟地址空间运行的一个单独的程序。进程与程序是有区别的,进程不是程序,虽然它由程序产生。程序只是一个静态的指令集合,不占系统的运行资源;而进程是一个随时都可能发生变化的、动态的、使用系统运行资源的程序。而且一个程序可以启动多个进程。,3.3.2 报告进程状态,要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行、运行的状态、进程是否结束、哪些进程占用了过多的资源等等。 ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令。其命令语法格式如下: ps 选项 命令中的选项说明如下:, -e:显示所有进程。 -f:全格式。 -h:不显示标题。 -l:给出长列表。 -a:显示终端上的所有进程,包括其他用户的进程。 -r:只显示正在运行的进程。 -x显示没有控制终端的进程。 -txx:只显示受tty.xx控制的进程。 -u:打印用户格式,显示用户名和起始时间。 -j:按作业格式输出。 -v:按虚拟存储器格式显示输出。 -m:显示存储器信息。 -S:增加子CPU时间和页面出错。 -w:用宽格式显示,不截取命令行,使它成为一行。 -r:只显示正在运行的进程。,表 ps命令输出字段的含义 字 段 含 义 USER 进程所有者的用户名 PID 进程号 %CPU 进程自最近一次刷新以来所占用的CPU时间和总时间的百分比 %MEM 进程使用内存的百分比 VSZ 进程使用的虚拟内存大小,以K为单位 RSS 驻留空间的大小。显示当前常驻内存的程序的K字节数。 TTY 进程相关的终端 STAT 进程状态,用下面的代码中的一个给出: R:可执行的。S:睡眠状态。 D:不间断睡眠。 T:停止或跟踪。 Z:僵尸。W:进程没有驻留页。I:空闲。 TIME 进程使用的总CPU时间 COMMAND 被执行的命令行 NI 进程的优先级值,较小的数字意味着占用较少的CPU时间 PRI 进程优先级。 PPID 父进程ID WCHAN 进程等待的内核事件名,top,使用方式:top - d delay q c S s i n b top -n 1 -b | grep Mem top1.out d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来 s : 安全模式,将交谈式指令取消, 避免潜在的危机 i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程 n : 更新的次数,完成后将会退出 top b : 批次档模式,搭配 “n“ 参数一起使用,可以用来将 top 的结果输出到档案内,显示说明 17:31:42 up 18 days, 23:38, 1 user, load average: 0.00, 0.00, 0.00 当前时间 系统运行时间 当前用户数 平均负责(1、5、10分钟) 94 processes: 93 sleeping, 1 running, 0 zombie, 0 stopped 进程总数 休眠进程数 运行进程数 僵死进程数 终止进程数 CPU states: cpu user nice system irq softirq iowait idle 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% cpu01 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 100.0% cpu状态 用户占用 优先 系统 中断 软中断 ? 空闲 Mem: 3094664k av, 2627700k used, 466964k free, 0k shrd, 120776k buff 1434068k actv, 155972k in_d, 41624k in_c Swap: 2048248k av, 130068k used, 1918180k free 1319416k cached 内存使用情况:可用内存,已使用内存,空闲内存. swap情况:= PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COMMAND 9590 root 25 0 172M 172M 11740 S 4.3 5.7 0:17 0 java,PID 每个进程的ID USER 进程所有者的用户名 PRI 每个进程的优先级别 NI 每个优先级的值 SIZE 进程的代码大小加上数据大小再加上堆栈空间大小的总数,单位是KB RSS 进程占用的物理内存的总数量,单位是KB SHARE 进程使用共享内存的数量 STAT 进程的状态。其中S代表休眠状态;D代表不可中断的休眠状态;R代表运行状态;Z代表僵死状态;T代表停止或跟踪状态 %CPU 进程自最近一次刷新以来所占用的CPU时间和总时间的百分比 %MEM 进程占用的物理内存占总内存的百分比 TIME 进程自启动以来所占用的总CPU时间 CPU CPU标识 COMMAND 进程的命令名称,vmstat,vmstat 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 wa 1 0 549368 13316 102388 91992 12 6 9 8 2 12 72 3 25 0 2 0 549368 13316 102388 91992 0 0 0 0 156 1516 98 2 0 0 2 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. cache: 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. 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 waiting for IO. Prior to Linux 2.5.41, shown as zero.,iostat,rootlinux # iostat -c|-d -k -t 间隔秒數 探测次数 参数: -c :仅显示 CPU 的状态; -d :仅显示存储设备的状态,不可与 -c 一起用; -k :预设显示的是 block ,这里可以改成 K bytes 的大小來显示; -t :显示日期出來;,# iostat -x Linux 2.4.21-9.30AX (localhost) 2006年07月14日 avg-cpu: %user %nice %sys %idle 3.85 0.00 0.95 95.20 Device: 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.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.07,r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s rsec/s: 每秒读扇区数。即 delta(rsect)/s wsec/s: 每秒写扇区数。即 delta(wsect)/s rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。 wkB/s: 每秒写K字节数。是 wsect/s 的一半。 avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。即 delta(rsect+wsect)/delta(rio+wio) avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。 await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio) svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(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,说明I/O 几乎没有等待时间;如果 await 远大于 svctm,说明 I/O 队列太长,应用得到的响应时间变慢,如果响应时间超过了用户可以容许的范围,这时可以考虑更换更快的磁盘,调整内核算法,优化应用,或者升级 CPU。 队列长度(avgqu-sz)也可作为衡量系统 I/O 负荷的指标,但由于 avgqu-sz 是按照单位时间的平均值,所以不能反映瞬间的 I/O 高锋,系统性能优化,经常出现CPU等待I/O? 磁盘的工作集中在某个或某几个上? CPU一直是满负载? Raid 技术提高I/O性能 更先进的接口技术 更高性能磁盘 应用调整 进程管理,3.3.3 结束进程,当需要中断一个前台进程的时候,通常是使用组合键;但是对于一个后台进程这个组合键是不能达到目的的。这时就必须使用kill命令,该命令可以终止后台进程。至于终止后台进程的原因很多,或许是该进程占用的CPU时间过多;或许是该进程已经挂死。 kill命令的语法格式很简单,大致有以下两种方 式: kill -s 信号 | -p -a 进程号 kill -l 信号 命令中的参数说明如下: -s:指定需要送出的信号。既可以是信号名也可以对应数字。 -p:指定kill命令只是显示进程的pid,并不真正送出结束信号。 -l:显示信号名称列表,这也可以在/usr/include/linux/signal.h文件中找到。 特殊应用: Kill -SIGKILL 0,3.3.4 进程调度,Nice ! 查看进程的nice值 重新调度nice值 renice 只能提高,不能降低。 Root可以降低nice 只是短时间的权益之计 Sleep进程 ls;sleep 1m;ls,进程调度, 后台执行 top & ctrl+z 可终止 jobs fg %n bg %n nohup 退出登陆后继续执行 nohup make &,任务的定期调度,etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthl minute hour day month dayofweek command,crontab的时间格式,minute hour day month dayofweek command 在以上任何值中,星号(*)可以用来代表所有有效的值。譬如,月份值中的星号意味着在满足其它制约条件后每月都执行该命令。 整数间的短线(-)指定一个整数范围。譬如,1-4 意味着整数 1、2、3、4。 用逗号(,)隔开的一系列值指定一个列表。譬如,3, 4, 6, 8 标明这四个指定的整数。 正斜线(/)可以用来指定间隔频率。在范围后加上 / 意味着在范围内可以跳过 integer。譬如,0-59/2 可以用来在分钟字段定义每两分钟。间隔频率值还可以和星号一起使用。例如,*/3 的值可以用在月份字段中表示每三个月运行一次任务。 crontab -u 用户名 -e /在root用户中给普通用户加计划任务编辑操作 55 23 * * 03 lp /usr/local/message|mail -s “today message“ root,At 命令,at命令在一定时间后或在一定时刻内执行设置好的命令 标准输入读取 at 1:00am +2days echo Hello|mail root ctrl+D atq at -l 查询 atrm 删除,3.2 用户和工作组管理 1. 用户账号文件passwd Passwd 是一个文本文件,用于定义系统的用户账号,该文件位于“/etc”目录下。它包含了一个系统账户列表,给出每个账户一些有用的信息,例如,用户 ID、组 ID、主目录、shell等等。由于所有用户都对passwd有读权限,所以该文件中只定义用户账号,而不保存口令。 passwd文件中每行定义一个用户账号,一行中又划分为多个字段定义用户的账号的不同属性,各字段用“:”隔开。图3-1中显示了passwd文件的前10行内容。在图中显示出了文件显示各用户的每一个字段,各字段的说明如表3-1所示。,表3-1 passwd文件各字段说明 字 段 说 明 Account 使用者在系统中的名字,它不能包含大写字母。 Password 用户口令,出于安全考虑,现在不使用该字段保存口令, 而用字母“x”来填充该字段,真正的密码保存在shadow文件。 UID 用户 ID 号,惟一表示某用户的数字。 GID 用户所属的私有组号,该数字对应group文件中的GID。 GECOS 这字段是可选的,通常用于保存用户命名的信息。 Directory 用户的主目录,用户成功登录后的默认目录。 shell 用户所使用的shell,如该字段为空则使用“/bin/sh”。,从图3-2中可以看出,“/etc/shadow”文件中的每个记录用“:”隔开为9个域,每个域的含义分别为: 登录名 加密口令 口令上次更改时距1970年1月1日的天数 口令更改后不可以更改的天数 口令更改后必须再更改的天数(有效期) 口令失效前警告用户的天数 口令失效后距账号被查封的天数 账号被封时距1970年1月1日的天数 保留未用,3. 用户组账号文件group 用户组是逻辑地组织用户账号集合的方便途径,它允许用户在组内共享文件。系统上的每一个文件都有一个用户和一个组的属主。使用“ls l”命令可以看到每一个文件的属主和组。 于系统上的每个组,在/etc/passwd文件中有一行记录,记录的格式为: groupname : passwd : GID : userlist 表3-2 group文件字段说明 字 段 说 明 Groupname 是组的名字 Passwd 是组的加密口令 GID 是系统区分不同组的ID,在/etc/passwd域 中的GID域是用这个数来指定用户的缺省组。 Userlist 是用“,”分开的用户名,列出的是这个组的成员。,4. 用户口令文件gshadow gshadow文件用于定义用户组口令、组管理员等信息,该文件只有root用户可以读取。Gshadow文件中每行定义一个用户组信息,行中各字段间用“:”分隔,每行记录的格式为: groupname : Encrypted password: Group administrators: Group members 各字段的的含义如表3-3所示。在图3-4中给出了该文件的属性及文件的部分内容。 字 段 说 明 Groupname 用户组名称,该字段与group文件中的组名称 对应。 Encrypted password 用户组口令,该字段用于保存已加密的口令 Group administrators 组的管理员账号,管理员有权对该组添加删除账号。 Group members 属于该组的用户成员列表,列表中多个用户间用“,”分隔。,3.2.2 用户和组账户的维护命令,1. 增加用户帐号 在命令行下使用 useradd 命令: useradd 用户名 该命令做了下面几件事: 1)在 /etc/passwd 文件中增添了一行记录; 2)在 /home 目录下创建新用户的主目录,并将 /etc/skel 目录中的文件拷贝到该目录中去;但是使用了该命令后,新建的用户暂时还无法登录,因为还没有为该用户设置口令,需要再用 passwd 命令为其设置口令后,才能登录。用户的 UID 和 GID 是 useradd 自动选取的,它是将 /etc/passwd 文件中的 UID 加 1,将 etc/group 文件中的 GID 加 1。,增加新用户时,系统将为用户创建一个与用户名相同的组,称为私有组。这一方法是为了能让新用户与其他用户隔离,确保安全性的措施 下面通过增加一个用户“liuyidan”,以及查看其相关信息,来帮助用户理解该命令所执行的操作。其在终端上的操作命令及响应如图3-5所示。 #useradd liuyidan /建立用户账号 #tail -l /etc/passwd /查看password文件中添加的用户 账号信息 #tail -l /etc/shadow # ls /home /查看所建立账号的主目录,选项 功能描述 -g 用于添加用户账号时指定该用户的私 有组。如不指定“-g”参数,useradd命 令将自动建立与用户账号同名的组作 为该账号的私有组。 -D 用于显示或设置useradd命令所使用的 默认值 在“-g”选项时,其语法格式如下: useradd g 组名 用户名 在“-D”选项中,如果是用来修改useradd命令所使用的默认值,那么该命令使用的语法格式如下: useradd D -g group-b base-s shell-f inactive-e expire,2. 修改用户账号usermod,usermod命令可用来修改用户帐号的各种属性,包括用户主目录、私有组、登录、shell等内容。Usermod的命令格式如下: usermod -LU-c -d -e -f -g -G -l -s -u 用户帐号 该命令的各个参数说明如下: -c : 修改用户帐号的备注文字。 -d: 修改用户登入时的目录。 -e : 修改帐号的有效期限。 -f :修改在密码过期后多少天即关闭该帐号。 -g: 修改用户所属的群组。 -l :修改用户帐号的名称,下面举例说明该命令的使用方法: ( 1)修改用户名,把用户名“liuyidan”改名为“lyd”,使用的命令是: # usermod l lyd liuyidan (2)锁定“lyd”用户,使其不能登录。命令如下: # usermod L lyd (3)解锁“lyd”用户账号,使其可以登录。命令如下: # usermod U lyd,3. 删除用户userdel,userdel命令用于删除指定的用户账号。其使用的语法格式为: userdel -r用户账号 需要补充说明的是userdel命令可删除用户账号与相关的文件。若不加参数,则仅删除用户账号,而不删除相关文件。 其中参数“-f”是用来删除用户登入目录以及目录中所有文件。 下面举例说明该命令的使用方法: #grep lyd /etc/passwd /查询用户账号lyd 是否存在 #userdel lyd /删除lyd账号 #grep lyd /etc/passwd /再次查询用户账 号lyd是否存在 #ll d /home /查询用户lyd的主 目录是否还存在 #userdel r lyd /删除用户的同时 删除其工作主目录,4. 组增加命令groupadd,groupadd命令可指定群组名称来建立新的群组账号。该组账号的ID值必须是惟一的,且数值不可为负。预设的最小值不得小于500,且每增加一个组账号ID值逐次增加。ID值0499是保留给系统账号使用。该指令使用的语法格式为: groupadd -r group 其中“-r”参数是用来建立系统账号。系统账号的ID值不能大于500。下面举例说明该命令的使用方法: # groupadd lbgroup /建立组账 号lbgroup # grep lbgroup /etc/group /查询group文件中 lbgroup组是否建立 #groupadd r syslbgroup /建立系统组账号 # grep lbgroup /etc/group /查询group文件中 syslbgroup组是否建立,5. 组账号修改,groupmod命令用来更改群组识别码或名称。该命令的语法格式为: groupmod -g -n 群组名称 命令中所使用的参数说明如下: -g 设置欲使用的群组识别码。 -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命令用于删除指定的组账号,若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。该命令的语法格式为: groupdel 群组名称 7.口令维护命令 出于系统安全考虑,Linux系统中的每一个用户除了有其用户名外,还有其对应的用户口令。因此使用useradd命令增加时,还需使用passwd命令为每一位新增加的用户设置口令;用户以后还可以随时用passwd命令改变自己的口令。该命令的一般格式为: passwd 用户名 其中用户名为需要修改口令的用户名。只有超级用户可以使用“passwd 用户名”修改其他用户的口令,普通用户只能用不带参数的passwd命令修改自己的口令。,另外,passwd命令还可以使用一些参数选项,这些参数选项可对账号的口令进行不同的操作,但这些带参数的passwd命令只有root用户可以使用。这些参数选择包括: -S:用于查询指定用户账号的状态。 -l:用于锁定账号的口令。 -u:解除锁定账号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论