Linux系统管理工具包 监视用户的使用情况Word文档下载推荐.docx

上传人:b****6 文档编号:17707636 上传时间:2022-12-08 格式:DOCX 页数:12 大小:22.27KB
下载 相关 举报
Linux系统管理工具包 监视用户的使用情况Word文档下载推荐.docx_第1页
第1页 / 共12页
Linux系统管理工具包 监视用户的使用情况Word文档下载推荐.docx_第2页
第2页 / 共12页
Linux系统管理工具包 监视用户的使用情况Word文档下载推荐.docx_第3页
第3页 / 共12页
Linux系统管理工具包 监视用户的使用情况Word文档下载推荐.docx_第4页
第4页 / 共12页
Linux系统管理工具包 监视用户的使用情况Word文档下载推荐.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

Linux系统管理工具包 监视用户的使用情况Word文档下载推荐.docx

《Linux系统管理工具包 监视用户的使用情况Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Linux系统管理工具包 监视用户的使用情况Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。

Linux系统管理工具包 监视用户的使用情况Word文档下载推荐.docx

-H选项用于为输出中的各列添加标题信息。

您可以参见清单4中给出的示例。

清单4.带-a和-H选项的who命令

1.$who-aH

2.NAME 

LINE 

TIME 

IDLE 

PID 

COMMENTS

3. 

systemboot 

Sep1211:

35

4. 

run-level3 

35 

S

5.zsmon 

Sep1211:

3:

14 

215

6.LOGIN 

console 

0:

20 

221

7.LOGIN 

510 

(:

0)

8.mc 

+pts/2 

569 

9.mcbrown 

+pts/3 

12 

675 

通过开头的两行,您可以了解最近一次启动系统的时间,以及最近一次运行级别更改的日期和详细情况。

这里所显示的计算机正在运行Solaris,并且它使用zsmon守护进程来监视串行端口上的登录。

然后,您将拥有两个到控制台的、标记的登录,其中一个是活动用户的登录,而另一个则附加到X服务器(:

0表示X窗口系统的屏幕参考)。

最后的两行是使用安全Shell(SSH)的远程登录。

对于所有的活动进程,您都将获取一个进程ID,这意味着您可以在ps列表中通过ID来识别原始用户。

LINE列是用户所连接到的终端;

控制台显然是该计算机的主键盘和监视器。

pts行指的是自动创建的、用以处理远程SSH连接的伪终端。

当然,了解谁正在使用本地计算机是一件很有趣的工作,但是对于网络中其他的计算机,情况又如何呢?

获取远程用户的信息

有两个后台服务可以提供远程用户的信息,它们分别是rusers和rwho,分别通过两个守护进程rusersd(通常称为in.rusersd)和rwhod(也称为in.rwhod)来实现。

这两个服务都依赖于远程过程调用(RemoteProcedureCall,RPC)协议,以便在整个网络的范围内共享信息。

以前一直认为,启用rwhod和rusersd是对网络资源的浪费,因为这两个守护进程在网络中不断地广播信息,从而占用了带宽。

在拥有大量主机的网络中,所生成的信息量可能是非常大的。

现在,与网络的传输速度相比,所生成的信息量相对较小。

rwhod和rusersd在所有的系统中都是不可用的,但是对于那些提供了相应工具的系统来说,使用这些工具可以很容易地获取您所想要的信息。

如果这些工具还没有运行,那么您需要启动in.rwhod和in.rusersd守护进程。

一旦这两个守护进程开始运行,您就可以使用各种各样的工具输出所有计算机的相关信息。

rwho工具是who工具的远程、支持网络的版本。

清单5给出了一个示例。

清单5.rwho工具

1.$rwho-a

solaris-desktop:

consoleSep1211:

41

3.mc 

pts/1 

32 

:

06

4.mc 

ultra3:

29

5.mcbrown 

ultra3:

pts/3 

37

6.M

rwhod工具发出广播信息,并且捕获来自其他主机的广播信息,在/var/spool/rwhod目录中对其进行整理。

rusers工具向网络上其他主机中的rusersd守护进程发送广播,以便返回当前登录的用户的信息,如清单6所示。

清单6.rusers工具

1.$rusers

2.Sendingbroadcastforrusersdprotocolversion3...

3.192.168.0.31mcmcbrown

4.solaris-desktop.mcmc

在rwhod守护进程开始运行之后,还可以使用另一个工具ruptime,该工具可以返回本地网络中所有运行rwhod的服务器的加载和正常运行时间信息。

清单7显示了一个示例。

对于确定多台计算机的状态,并且不希望逐个地对它们进行登录,这是一个非常合适的工具。

清单7.ruptime工具

1.$ruptime

2.solaris-desktop 

up 

53, 

1user, 

load0.00,0.00,0.00

3.ultra3 

46, 

2users, 

对于who和rwho来说,将当前连接到您的计算机的who信息记录到/var/adm/utmp文件中,而曾经登录(并已注销)的用户的历史信息则保存于wtmp计算机中。

所有这些文件都包含了大量的信息,但是这些文件都没有可用的直接格式。

让我们更深入地研究这些文件,并了解如何显示这些信息。

用户活动所使用的日志文件

有很多文件用于记录用户的登录和活动。

用于记录这种信息的文件主要包括下面三个:

*utmp,这个文件记录了当前登录的用户的相关信息。

对于用户的每次登录,它都应该包含一条相应的记录。

*wtmp,这个文件记录了用户进行的所有登录(和注销)。

在一个繁忙的系统中,这个文件是相当大的,因为对于每次登录,它都包含一条登录和一条注销记录。

这个文件还包含了一些系统相关的日志信息,如重新启动、关闭和日期更改。

*lastlog,这个文件记录了每个用户最近一次登录的时间。

对于每个用户,这个文件仅包含一条记录。

在您了解了这些文件是何时、采用何种方式写入的之后,那么这些文件之间的关系就相当直观了。

基本顺序如下所示:

*当用户登录的时候,打开lastlog文件,并对他们的记录中的登录日期和时间进行更新。

然后,打开utmp,并记录他们的当前登录信息。

将登录记录(通常将这些信息的副本添加到lastlog)写入到utmp日志中,以记录相应的登录信息。

*在注销期间,删除写入到utmp的登录记录(因为该用户不再处于登录状态),但是将一条新记录写入到wtmp,以记录该用户已经注销的事实。

*这些文件的格式都是二进制的;

所以,必须使用一种单独的、能够读取和解析其中信息的工具来报告这些信息。

通常,wtmp和lastlog文件的基本格式是相同的,并且它们都使用一种简单格式来记录登录时间、登录行和主机名称行信息,如清单8中所示,其中显示了Solaris格式。

清单8.wtmp中的Solaris格式

1.structlastlog{

2. 

time_t 

ll_time;

char 

ll_line[UT_LINESIZE];

ll_host[UT_HOSTSIZE];

5.};

对于不同的操作系统,格式是不相同的,因此您必须非常小心地提取合适的信息。

在AIX&

reg;

中,清单9显示了utmp定义。

清单9.utmp定义

1.structutmp

2.{

ut_user[8];

ut_id[14] 

5. 

ut_line[12];

6. 

short 

ut_type;

7. 

pid_t 

ut_pid;

8. 

structexit_status

9. 

{

10. 

e_termination;

11. 

e_exit;

12.}

清单10显示了记录的ut_type字段值的定义。

清单10.ut_type字段值的定义

1.#defineEMPTY 

2.#defineRUN_LVL 

1

3.#defineBOOT_TIME 

2

4.#defineOLD_TIME 

3

5.#defineNEW_TIME 

4

6.#defineINIT_PROCESS 

5

7.#defineLOGIN_PROCESS 

6

8.

10.#defineUSER_PROCESS 

7

11.#defineDEAD_PROCESS 

8

12.#defineACCOUNTING 

9

13.#defineUTMAXTYPEACCOUNTING

因为是根据用户ID进行编码的,所以该记录中不包括用户名信息。

如果登录用户的ID是1000,那么可以通过访问位于1000xsizeof(structlastlog)的记录来定位对应的lastlog记录。

utmp文件结构与其非常类似,但因为它是关于登录、注销、以及其他事件条目的顺序日志,所以该记录包括清单11中的登录信息。

清单11.utmp文件结构定义

1.structutmp{

ut_line[UT_LINESIZE];

ut_name[UT_NAMESIZE];

ut_host[UT_HOSTSIZE];

ut_time;

6.};

Linuxut_type具有类似的值定义,如清单12中所示。

清单12.Linuxut_type定义

1.#defineUT_UNKNOWN 

4.#defineNEW_TIME 

5.#defineOLD_TIME 

8.#defineUSER_PROCESS 

9.#defineDEAD_PROCESS 

10.#defineACCOUNTING 

还有一种更加复杂的结构定义,如清单13中所示。

清单13.更加复杂的utmp结构定义

shortut_type;

/*typeoflogin*/

pid_tut_pid;

/*PIDofloginprocess*/

charut_line[UT_LINESIZE];

/*devicenameoftty-"

/dev/"

*/

charut_id[4];

/*initidorabbrev.ttyname*/

charut_user[UT_NAMESIZE];

/*username*/

charut_host[UT_HOSTSIZE];

/*hostnameforremotelogin*/

structexit_statusut_exit;

/*Theexitstatusofaprocess

markedasDEAD_PROCESS*/

10.

11./*Theut_sessionandut_tvfieldsmustbethesamesizewhen

12. 

compiled32-and64-bit. 

Thisallowsdatafilesandshared

13. 

memorytobesharedbetween32-and64-bitapplications*/

14.#if__WORDSIZE==64&

&

defined__WORDSIZE_COMPAT32

15. 

int32_tut_session;

/*SessionID,usedforwindowing*/

16. 

struct{

17. 

int32_ttv_sec;

/*Seconds*/

18. 

int32_ttv_usec;

/*Microseconds*/

19. 

}ut_tv;

/*Timeentrywasmade*/

20.#else

21. 

longintut_session;

22. 

structtimevalut_tv;

/*Timeentrywasmade*/

23.#endif

24.

25. 

int32_tut_addr_v6[4];

/*IPaddressofremotehost*/

26. 

char__unused[20];

/*Reservedforfutureuse*/

27.};

大多数系统都提供了一些简单工具,以便为您提取相关的信息。

要转储wtmp文件的内容,可以使用last命令。

该命令将转储所有的信息(请参见清单14)。

清单14.使用last命令转储wtmp文件的内容

1.$last

2.statmon 

ftp 

nautilus.mcslp.pWedSep1215:

50-15:

50 

(00:

00)

3.statmon 

narcissus.mcslp.WedSep1215:

4.statmon 

nostromo.mcslp.pWedSep1215:

5.statmon 

sulaco.mcslp.priWedSep1215:

49-15:

49 

6.statmon 

45-15:

45 

7.statmon 

8.statmon 

通常,如果需要的话,您可以通过用户、主机或者tty对信息进行筛选。

例如,要获取root所进行的所有登录,可以使用清单15中所示的内容。

清单15.获取root所进行的所有登录

1.$lastroot

2.root 

MonSep2511:

32-11:

3.root 

27-11:

27 

4.root 

SatSep 

913:

17-13:

28 

11)

5.root 

910:

47-13:

(02:

26)

6.root 

SunSep 

306:

52-down 

(6+03:

54)

7.root 

214:

24-down 

(16:

27)

8.root 

208:

02-down 

(06:

13)

9.root 

FriAug2517:

16-down 

39)

10.root 

SunAug2016:

04-16:

04 

11.root 

ThuJul2007:

23-07:

31 

07)

12.root 

22-07:

23 

13.root 

ThuJul2002:

57-02:

57 

14.root 

WedJul1912:

22-down 

(05:

38)

15.root 

10-12:

19 

08)

16.root 

05-12:

09 

04)

17.root 

WedJul1911:

47-11:

55 

18.

19.wtmpbeginsWedJul1909:

54

因为wtmp还包含关于重新启动和关闭的信息,所以您也可以列出这些信息(请参见清单16)。

清单16.获取关于重新启动和关闭的信息

1.$lastreboot 

2.reboot 

WedSep1211:

28

3.reboot 

systemdown 

WedSep 

512:

16

4.reboot 

MonSep 

313:

03

5.reboot 

ThuMar 

111:

33

6.reboot 

109:

57

7.reboot 

108:

12

8.reboot 

05

9.reboot 

10.reboot 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1