要实时显示某个用户远程发出的命令,可以通过监控用户的 shell 历史记录来实现。下面是一种方法:

  1. 进入用户的家目录,找到用户的 .bashrc(或 .bash_profile)文件,可以使用下面的命令进行查找:
cd ~username
ls -a | grep "bash"
  1. 打开 .bashrc(或 .bash_profile)文件,添加以下内容:
export PROMPT_COMMAND='history -a >(logger -t "COMMANDLOG" -p local6.info)'

这将在用户每次执行命令后,将命令写入日志文件中。

  1. /etc/rsyslog.conf 文件中添加以下内容来配置日志文件的位置和格式:
local6.*                /var/log/commands.log
  1. 重启 rsyslog 服务,使配置生效:
sudo systemctl restart rsyslog
  1. 现在,当用户远程登录并执行命令时,命令将被记录在 /var/log/commands.log 文件中。你可以使用 tail 命令实时查看日志内容:
sudo tail -f /var/log/commands.log

这样就可以实时显示用户远程发出的命令了。请注意,这种方法只能监控用户使用的 shell(例如 bash)的命令,对于其他的交互式程序可能无效

Linux ssh 如何实时显示某个用户远程发出的命令

原文地址: https://www.cveoy.top/t/topic/hzHi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录