Linux教程: Linux系统管理

1. 用户和用户组的管理:

   Linux的多用户概念是指多个用户同时可以使用这个系统。

(1)用户帐号文件——passwd

     Passwd是一个文本文件(每一行标识1个用户),定义了系统的用户帐号,该文件位于“/etc”目录下。文件中包含了一个系统帐户列表,存放了每个账户一些有用的信息,如用户ID,组ID,主目录,shell等等(用“:”分隔开来)。只定义了用户帐号,而不保存口令(用“x”表示,如果没有sun::则表示没有密码)。真正的密码存放在Shadow文件中,普通用户根本不能读,加密后的密文无法读到就可以提高用户帐号的安全性。

例如:

[root@sun root]# head /etc/passwd 

(2)用户口令文件——shadow

每行定义了一个用户信息,行中各字段用:分开,为进一步提高安全性,口令文件存放用户已经加密的口令:*,特殊符号

[root@sun root]# head /etc/shadow

登录名:加密的口令(用*或其他特殊字符表示):上次更改口令距离1970.1.1的天数:口令更改后不可更改的天数:口令更改后必须再更改的天数(有效期):口令失效前警告用户的天数:口令失效后距帐号被查封的天数:帐号被封时距1970.1.1的天数:保留未用。 

(3)用户组帐号文件——group

用户组:逻辑的组织用户帐号的集合的方式,用户允许在其组内共享文件,系统每个文件都有一个用户和附属的用户组。使用“ls -l”命令可以查看每个文件的属性和组。

[root@sun root]# head /etc/group

root:x:0:root,tom,mary  (组名:组加密口令:GID:组成员列表(用,隔开的每个组用户名)) 

(4)用户组口令文件——gshadow

用于定义用户组口令,用户组管理员信息。该文件只有超级用户root才可以读取

每行记录信息:

[root@sun root]# head /etc/gshadow

用户组:用户组加密口令:组管理员帐号(管理员有权进行增删帐号):组成员列表 

2. 用户和用户组账户维护的命令:

(1)增加用户账户:useradd 用户名

useradd –g 组名 用户名 指定该用户所使用的私有组名,默认是与用户帐号同名的私有组。

useradd –D [-g group][-b base][-s shell][-f inactive][-e expire] 用于显示和设置useradd该命令所使用的默认值。

例如:#useradd  sun  //建立用户帐号  

      #tail -l  /etc/passwd  //查询passwd中添加的用户账户的信息

      #tail –l  /etc/shadow 

      #ls /home   //查看所建立帐号的主目录 

(2)修改用户帐号属性:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G<群组>][-l<帐号名称>][-s][-u][用户帐号] 

(3)删除用户帐号:userdel [-r][用户帐号] //如果不加参数则只删除用户帐号,不删除文件,否则两者都删除。

userdel [-r][用户帐号]  //-r用来删除帐号登入目录和目录中所有文件

举例:#grep sun /etc/passwd     //查询用户帐号sun是否存在

#userdel sun    //删除用户帐号sun

#grep sun /etc/passwd    //再次查询用户帐号sun是否存在

#ll –d /home    //查询用户sun主目录是否存在

#userdel –r sun   //删除用户的同时,删除其工作主目录 

(4) 增加用户组帐号:groupadd [-r][组帐号]

【注意】帐号ID唯一,数值不可为负,预设最小值不得小于500,且每增加一个,组帐号ID逐次自增1。其中-r参数是用来建立系统帐号的。0~499是给系统帐号准备的。 

举例:#groupadd magicSun  //建立组账户magicSun

#grep magicSun /etc/group   //查询group文件中magicSun组账户是否建立

#groupadd –r sysWang  //建立系统组账户sysWang

#grep sysWang /etc/group  //查询group文件中sysWang系统组账户是否建立

 

(5)修改组帐号:groupmod [-g <群组识别码GID>]<-o>[-n<新群组名称>][群组名称]

其中-o表示重复使用群组识别码 

(6)删除组帐号:groupdel [群组名称]

【注意】必须先删除组中的用户才能删除该组 

(7)口令维护:passwd [-s][-l][-u][-d][用户名] 超级用户可以为每一位新增的用户设置口令,普通用户只能用不带参数的passwd命令来修改自己的口令。其中参数-s表示用于查询指定用户帐号的状态,-l用户锁定帐号的口令,-u解锁帐号口令,-d删除指定帐号的口令。 

(8)组用户成员维护:将一个账户添加到组、或将一个账户从组中删除、将一个账户设为组管理员。

添加用户到组:gpasswd –a  用户帐号名组帐号名

从组中删除用户:gpasswd –d用户帐号名 组帐号名

设置用户为组管理员:gpasswd –A  组管理员用户列表 用户组 

(9)用户和组的状态命令:

id [选项] [用户名称]    用于显示用户当前UID,gid以及所属群组的组列表

[选项]参数有:

-g :显示用户所属群组的id

-G:显示用户所属附加群组的id

-n:显示用户所属群组或附加群组的名称

-r:显示实际ID

-u:显示用户ID

whoami  用于显示登录者自身的名称(=id -un)

su [-flmp] [-][-c <指令>][-s][用户帐号]  //用来将当前用户转换为其他用户身份,暂时变更自己的登录身份,用其他人的身份来登录系统。前提是必须知道对方的口令。其中参数-c表示执行完指定的指令后恢复原来的身份。-f适用于csh和tsch,使shell不用去读取启动文件。-表示改变身份时也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME,此外也会变更PATH环境变量。-m,-p 变更身份时不变更环境变量。-s 指定要执行的shell。若不指定要变更的用户账户,那么预设为root超级用户。

groups [用户名称] 用于显示指定用户所属的组,若未指定用户则显示当前用户所属组 

3. 进程管理:

    Linux是个多用户多任务的操作系统。

    进程:在自身的虚拟地址空间运行的一个独立的程序。Linux采用分时管理的方式使所有任务共同分享系统资源。程序是一个静态的指令集不占系统的运行资源,而进程是一个随时都可能发生变化,动态的,占用系统运行资源的过程。一个程序可以启动多个进程。 

(1)监测控制报告进程状态:

(后台)进程查看:ps [选项]

选项参数:-e:显示所有进程  -f:全格式  -h:不显示标题  -l:给出长列表  -a:显示终端上所有进程,包括其他用户的进程。  -r: 只显示正在运行的进程  -x:显示没有控制终端的进程  -txx:只显示受tty.xx控制的进程  -u:打印用户格式,显示用户名和起始时间  -j:按作业格式输出  -v:按虚拟存储器格式显示输出  -m:显示存储器信息  -S:增加子CPU时间和页面出错  -w:用宽格式显示,不截取命令行,使它成为一行。

输出字段:PID 进程号 TTY:进程相关终端  TIME:进程使用的总CPU时间

CMD:被执行的命令行  PPID:父进程ID号  PRI:进程优先级  WCHAN:进程等待的内核事件名  NI:进程的优先级调整值,较小的占用较少的CPU时间,优先级越大。  STAT:R表示可执行的,S表示睡眠状态,D表示不间断睡眠,T表示停止或跟踪,Z表示父进程或系统进程来收拾,W表示进程没有驻留页(进程被排除在内存外),I表示空闲的(0号进程)  %CPU 进程自第一次刷新以来所占用的CPU时间和总时间的百分比   %MEM 进程所用内存的百分比  VSZ 进程使用虚拟内存的大小(K)  RSS 进程驻留空间的大小,显示当前常驻内存的程序的K字节数 

(2)结束进程:前台进程结束用ctrl+c ,后台进程结束用:kill [-s信号名或数字|-p<pid>] [-a] 进程号;如果发送9号信号,该进程一定消亡。

 Kill –l[信号名]  显示信号名称列表(也可以在/usr/include/linux/signal.h文件中找到)并销毁它。 

(3)进程睡眠:当前正在执行的进程在规定时间内进入睡眠状态。sleep time

注意:time是进程将睡眠的时间,以秒为单位。如$ sleep time 

4.查看登录用户及日志文件信息:

(1)查看用户的操作:w  [用户名]

第一行系统汇总信息:12:29:22  up  3:19, 3 users, load average:0.00,0.00,0.00

当前时间 系统运行时间,当前系统登录用户数为3,表示系统在过去1,5,10分钟内的负载程度,数值越小表示系统负载越轻。

 

(2)查看登录用户简单信息:who

(3)查看登录用户历史信息:last

(4)查看日志文件(包含系统消息(内核、服务、应用程序等))信息

定位日志文件: /var/log 

日志文件目录中会有多个后面带有数字的文件。这些文件是在日志文件被循环使时创建的。

logrotate软件包中包含一个能自动根据/etc/logrotate.conf配置文件和/etc/logrotate.d目录中的配置文件来循环日志文件的cron任务。按默认配置,日志每周都被循环,并保留四周之久(第四周就干掉原来那些日志文件)。 

查看日志文件:主菜单->系统工具->系统日志  或shell终端键入:RedHat-logviewer 默认30秒刷新一次,可以通过“编辑->首选项”来改变刷新率。也可选择“文件即可刷新”或按Ctrl+R来将文件立即刷新。为了重视日志信息,也可以设置为“警告”。 

5. RedHat的控制面板:

Setup配置工具:可以实现基本系统恢复,包括救援模式,单用户模式以及紧急模式。

相关推荐