Linux:如何检测计算机是否通过串行控制台进行控制
题
如何以编程方式检测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并检查设备名称。
不隶属于 StackOverflow