其他用户执行的 Linux shell 命令的实时视图?

EMP*_*EMP 29 security linux shell

Linux 中的 root 用户是否可以实时(或接近实时)查看其他用户通过终端或 SSH 登录的 shell 命令?显然,它们存储在 .bash_history 中,但只有在用户注销时才会保存,也可以禁用。

编辑:理想情况下,可以轻松打开和关闭的东西。

Tim*_*and 17

作为 root,你可以用一个简单的包装脚本替换他们的 shell,在将它们传递给真正的 shell 之前记录它们的命令。这仅在他们登录之前有效。

  • 我们这样做是为了监控前雇主的被黑账户。创建了“/bin/bash”(注意空格),它是脚本命令的包装器。像魅力一样工作:) (21认同)

Dav*_*itt 9

如果您想闯入用户的会话或者您有合作,请使用sniffyscreen -x

但请注意,根据您当地的法律,对您的用户进行间谍活动可能会受到法规的约束,甚至是完全非法的。


hay*_*lci 7

换壳是很容易规避的,给壳本身打补丁比较好,但是你必须对所有的壳都打补丁。我们最喜欢的破解者使用它,作为奖励,他不会为禁用 bash_history 而烦恼。

ssh host /bin/sh -i  
Run Code Online (Sandbox Code Playgroud)

Snoopy是 exec 函数的包装器,并记录执行的任何外部二进制文件(不是 shell 内置函数 )

@大卫施密特的建议嗤之以鼻使用一种更好的方法,它轻拍伪终端。

ttysnoop使用相同的方法,但它是未维护的。(我可能在记录 ssh 连接时遇到了问题,不记得了)

您可以尝试修补 ssh以记录会话,但该修补程序是旧的

pseudopodrootsh可用于记录合法的 sudo。而shwatcr是另一回事监视器登录。


Tim*_*Tim 4

如果您愿意合作,您可以在两个用户之间使用GNU screen - 让一个用户建立 screen 会话,然后让另一个用户使用screen -x.

如果您希望 root 在其他用户不知情的情况下“监视”他们,最好、最有效的解决方案可能是键盘记录软件/硬件。