如何以编程方式检测Linux机器是否由使用串行控制台登录的用户控制?我会通过BASH进行检查。

有帮助吗?

解决方案

who 命令将为您提供登录用户列表及其登录位置。

例如:

~$ who
john    pts/1        2009-07-29 10:06 (ourcompanyvpnserver.org)
mary    tty7        2009-07-29 10:11 (:0)
frank    pts/2        2009-07-27 12:10 (att.net)
jim    pts/4        2009-07-28 14:51 (comcast.net)

谁的输出表示“如何”用户登录。用户mary的控制台挂钩到 tty7 tty表示mary通过串行控制台物理登录。因此,玛丽能够通过串行控制台控制计算机。

为了确定她在做什么,你需要查看her.bash_history文件。通常这是在/home/mary/.bash_history。

如果你想长期记录通过串行控制台(也就是连接到该机器的键盘)进来的所有命令,我会修改linux串行驱动程序以记录所有输入和输出。我不知道会有多难。

其他提示

尝试解析手指。您通常可以选择IP / DNS地址。从来没有见过串行连接,所以我不知道它是否显示串行连接。

您可以从命令行使用 who

如果您想在本地计算机上查看...

$ who >> log.txt

检查该文件中是否有任何额外的行,或者你想要的任何内容。

如果您要检查脚本是否通过串行接口在终端上运行,您只需执行tty并检查设备名称。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top