linux7监控用户登录后命令

fiy 其他 28

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux系统中,可以通过使用一些监控工具来监视用户登录后的命令。下面是一些常用的方法:

    1. 使用auditd工具:auditd是Linux上的一个进程,用于监视系统上的各种活动。可以使用以下命令开启auditd服务:

    “`
    service auditd start
    “`

    然后,通过编辑/etc/audit/audit.rules文件,可以设置监控规则来监视用户登录后的命令。例如,可以添加以下规则:

    “`
    -w /bin/bash -p x -k shell_commands
    -w /bin/sh -p x -k shell_commands
    -a always,exit -F arch=b64 -S execve -k shell_commands
    -a always,exit -F arch=b32 -S execve -k shell_commands
    “`

    这些规则将监视/bin/bash和/bin/sh命令的执行,每次执行都会记录到audit日志中。

    2. 使用sysdig工具:sysdig是一个强大的系统调用捕获和分析工具,可以用于监视和分析系统上的各种活动。可以使用以下命令来监视用户登录后的命令:

    “`
    sysdig -p “%proc.pname %evt.arg.name” evt.type=execve and evt.args contains login
    “`

    这将显示所有包含“login”关键字的execve系统调用,即用户登录后执行的命令。

    3. 使用psacct工具:psacct是一个Linux上的进程账户工具,可以用于监视和记录各个进程的活动。可以使用以下命令来安装和启动psacct服务:

    “`
    yum install psacct
    service acct start
    “`

    然后,可以使用命令“lastcomm username”来查看指定用户执行的最后一条命令。例如,要查看用户“user1”执行的最后一条命令,可以使用以下命令:

    “`
    lastcomm user1
    “`

    通过以上方法,你可以方便地监视用户登录后执行的命令,并记录相关信息供后续分析和审计。这有助于提高系统的安全性和管理效率。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux系统中,可以通过多种方式来监控用户登录后执行的命令。下面是常用的5种方法:

    1. 使用auditd
    auditd是Linux系统中的一个审计框架,可以监控系统上发生的各种事件。通过配置auditd,可以捕获用户登录后执行的命令。具体步骤如下:
    a. 安装auditd:在终端中使用适用于你的Linux发行版的包管理器安装auditd。
    b. 配置auditd:编辑auditd的配置文件,通常位于/etc/audit/auditd.conf。在该文件中,可以指定要监控的事件类型,如execve(表示命令执行)。
    c. 启动auditd:在终端中运行`sudo systemctl start auditd`来启动auditd服务。
    d. 查看日志:通过查看/var/log/audit/audit.log文件,可以查看用户登录后执行的命令。

    2. 使用Bash历史
    Linux的Bash shell会将用户在终端中输入的命令记录在一个历史文件中,默认情况下,该文件位于用户的家目录下的.bash_history文件中。可以通过查看该文件来监控用户登录后执行的命令。

    3. 使用psacct工具
    psacct是一个进程账户工具包,可以捕获系统上所有进程的信息并保存在系统数据库中。通过psacct工具,可以监控用户登录后执行的命令。具体步骤如下:
    a. 安装psacct:在终端中使用适用于你的Linux发行版的包管理器安装psacct。
    b. 配置psacct:编辑psacct的配置文件,通常位于/etc/sysconfig/psacct。在该文件中,可以指定要开启的账户信息记录功能。
    c. 启动psacct:在终端中运行`sudo systemctl start psacct`来启动psacct服务。
    d. 查看日志:通过查看/var/account/pacct文件,可以查看用户登录后执行的命令。

    4. 使用系统调用跟踪工具
    Linux提供了一些系统调用跟踪工具,如strace和sysdig,可以监控系统中发生的系统调用。通过这些工具,可以监控用户登录后执行的命令。具体步骤如下:
    a. 安装工具:在终端中使用适用于你的Linux发行版的包管理器安装strace或sysdig。
    b. 启动工具:在终端中运行`strace -p `或`sysdig -p ‘%proc.cmdline’ proc.ppid != 1`命令来启动相应的工具,并指定要监控的进程ID。
    c. 查看输出:通过查看工具的输出,可以监控用户登录后执行的命令。

    5. 使用自定义脚本
    可以编写一个自定义脚本来监控用户登录后执行的命令。该脚本可以使用inotify工具监控用户的家目录下的.bash_history文件的变化,并提取出新增的命令。具体步骤如下:
    a. 安装inotify-tools:在终端中使用适用于你的Linux发行版的包管理器安装inotify-tools。
    b. 编写脚本:使用你喜欢的文本编辑器编写一个自定义脚本,脚本中使用inotifywait命令监控.bash_history文件的变化,并提取新增的命令。
    c. 运行脚本:在终端中运行`bash <脚本文件>`来运行自定义脚本,开始监控用户登录后执行的命令。

    以上是常用的5种方法来监控Linux系统中用户登录后执行的命令。根据具体的需求和情况,可以选择其中一种或多种方法来使用。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    推荐您使用auditd工具来监控Linux系统上用户登录后的命令操作。下面是具体的操作流程:

    1. 安装auditd工具:在Linux系统上使用包管理器安装auditd工具。例如,使用yum安装auditd工具可以执行以下命令:
    “`
    sudo yum install auditd
    “`

    2. 配置auditd规则:打开auditd配置文件并进行编辑。配置文件通常位于`/etc/audit/audit.rules`。可以使用文本编辑器打开进行编辑。
    “`
    sudo vi /etc/audit/audit.rules
    “`

    3. 添加规则:在配置文件中添加监控用户登录后命令的规则。您可以使用以下规则:
    “`
    -a exit,always -F arch=b64 -F euid=0 -S execve -k root_commands
    -a exit,always -F arch=b32 -F euid=0 -S execve -k root_commands
    “`
    这些规则将监控执行execve系统调用的进程,并且仅当euid为0时,才会触发。执行execve系统调用表示有新的进程在执行。

    4. 重启auditd服务:在编辑完配置文件后,需要重新启动auditd服务使配置生效。执行以下命令重启auditd服务:
    “`
    sudo systemctl restart auditd
    “`

    5. 查看审计日志:监控的命令操作将被记录在审计日志中。您可以使用`ausearch`命令来搜索并查看审计日志。例如,以下命令将搜索并显示所有的`root_commands`操作:
    “`
    sudo ausearch -k root_commands
    “`

    通过以上步骤,您就可以在Linux系统上成功监控用户登录后的命令操作了。请注意,为了避免日志文件过大,建议定期清理审计日志或使用日志轮转机制。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部