linux – 命令结束时在ssh登录和注销时运行命令
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – 命令结束时在ssh登录和注销时运行命令,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1760字,纯文字阅读大概需要3分钟。
内容图文
我们想在我们的Centos7机器上跟踪用户活动.去做
因此,管理层决定使用脚本和scriptreplay来基本记录用户活动并重放它.我对我们应该如何设计它进行了一些研究,但是依赖于auditd的解决方案在这里被管理层拒绝,并且将脚本放在用户的.profile中会导致一些问题,如下所述.
预期的行为如下:
>当用户通过SSH登录服务器时,脚本命令会生成并开始将用户活动记录到文件中.
>当用户在服务器上完成后,他会注销(通常键入exit或CTRLD).
>脚本进程停止并关闭文件.
现在的问题:
>我的研究表明,脚本实际上创建了另一个shell.因此,如果我在每个用户(或skel)的.bash_profile中放入脚本script.log,它将在登录后为用户发出新的shell,用户可以轻松地中止该过程并开始输入命令他通常的SSH会话.
当我退出由脚本命令生成的shell时,如何强制我的脚本实际关闭用户?
>脚本输出(即用户命令)应存储在非sudoers无法执行任何操作的私有场所(没有R / W / E权限).当用户本身没有特权时,我们如何在用户登录时运行具有提升权限的脚本?
解决方法:
至于强制命令,sshd有一个ForceCommand选项:
Forces the execution of the command specified by ForceCommand, ignoring any command supplied by the client and
~/.ssh/rc if present. The command is invoked by using the user’s login shell with the -c option.
This applies to
shell, command, or subsystem execution. It is most useful inside a Match block. The command originally supplied
by the client is available in the SSH_ORIGINAL_COMMAND environment variable.
因此,通过阅读,如果您将ForceCommand设置为脚本,那应该大致按照您的意愿执行.
至于保持审计跟踪安全,多服务器系统中的一个解决方案是从syslog中学习并通过网络将条目发送到不同的物理主机.这几乎可以防止用户在生成日志之后获取日志.如果没有其他任何事情,您可能需要将日志发送到localhost上的另一个端口,守护进程会收集并存储它们. (尝试了显而易见的,你不能脚本-f / dev / tcp / localhost / 8888,因为/ dev / tcp / …需要由bash处理,所以我猜你需要mkfifo自己沟通路径如manpage example for script -f)
内容总结
以上是互联网集市为您收集整理的linux – 命令结束时在ssh登录和注销时运行命令全部内容,希望文章能够帮你解决linux – 命令结束时在ssh登录和注销时运行命令所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。