加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何捕获任何用户在Unix / Linux中输入的所有命令?

发布时间:2020-12-16 01:16:45 所属栏目:安全 来源:网络整理
导读:我想捕获任何用户在Unix / Linux中输入的所有命令.使用脚本命令或acct实用程序的选择很少.但是他们的问题是他们从终端到文件的所有内容都是愚蠢的,或者只是提供命令的摘要.我正在寻找一个实用程序,它将为我提供由任何用户键入的所有命令和命令的参数.可能吗
我想捕获任何用户在Unix / Linux中输入的所有命令.使用脚本命令或acct实用程序的选择很少.但是他们的问题是他们从终端到文件的所有内容都是愚蠢的,或者只是提供命令的摘要.我正在寻找一个实用程序,它将为我提供由任何用户键入的所有命令和命令的参数.可能吗?是否有任何替代方法,如挂钩系统调用来获得这个?
关于shell审计似乎有一篇很好的文章
http://administratosphere.wordpress.com/2011/05/20/logging-every-shell-command/

这考虑了诸如用户历史文件的可靠性之类的内容(并提供了有关改进的信息),还讨论了内置于shell中的显式审计功能.可能是您正在使用的任何环境都没有启用审计功能编译的shell,但如果您的构建的源和配置可用(至少对于任何Linux发行版都是如此),它应该是’太难以启用审计功能,同时保留配置的其余部分,因为它在默认分发中.

这种方法仍然是开放的是通过一些其他命令执行的命令 – 或者在某些程序中调用的操作系统功能.所以,f.ex.如果您在机器上有perl或任何其他编程语言解释器,而您可能可以审计perl的执行,则无法告诉用户告诉perl解释器要做什么.另一方面,即使使用shell审计,我也不确定如果执行f.ex,是否会看到perl执行.从某些编辑器(如vi)中作为过滤器来处理编辑器中编写的任何内容.

因此,虽然shell审计将为您提供一层审计,但除非您的环境真正收紧其他执行路径而不是shell,否则增益并不是那么好.

您应该考虑要审核的用户是否确实需要shell访问 – 如果没有,请为他们提供更有限的内容,并具有审核功能.也许是一个基于文本的小菜单系统?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读