linux如何查询谁执行了命令

worktile 其他 372

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux中,可以使用以下命令来查询谁执行了特定的命令:

    1. history命令:可以查看最近使用过的命令列表,包括执行该命令的用户。使用`history`命令可以列出所有的历史命令,使用`history | grep `可以查询特定命令的历史记录。

    2. last命令:可以查看系统登录和登出的记录,其中包含了登录用户的信息。使用`last`命令可以列出所有的登录和登出记录,使用`last `可以查询特定用户的登录和登出记录。

    3. whoami命令:可以显示当前登录用户的用户名。使用`whoami`命令可以查看当前登录的用户名,如果想查询其他用户是否执行过特定命令,则需要切换到相应的用户账号后再执行查询。

    4. sudo日志:如果命令是以root权限或者使用sudo执行的,可以查看sudo的日志文件来获取相关信息。sudo日志文件的路径通常是`/var/log/secure`或`/var/log/auth.log`,使用`sudo cat /var/log/secure | grep `可以查询特定命令的执行日志。

    5. audit日志审计:如果系统启用了audit日志记录功能,可以查看audit日志来查询命令的执行记录。audit日志文件的路径通常是`/var/log/audit/audit.log`,使用`sudo cat /var/log/audit/audit.log | grep `可以查询特定命令的执行记录。

    需要注意的是,以上方法都需要具有足够的权限才能查询相关信息。另外,某些情况下,日志文件可能会被清理或者被移动到其他路径,因此具体的路径可能会有所不同。可以根据系统版本和配置情况进行相应的调整。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux上,可以使用一些命令和工具来查看谁执行了特定的命令。下面是五种常用的方法:

    1. 使用sudo日志查看命令:sudo日志位于/var/log/auth.log文件中,记录了使用sudo权限来执行命令的用户和时间戳。可以使用以下命令来查看使用sudo的日志:
    “`shell
    sudo cat /var/log/auth.log | grep sudo
    “`

    2. 使用history命令查看命令历史记录:history命令会显示当前用户执行的命令历史记录。可以使用以下命令查看最近的命令历史记录:
    “`shell
    history
    “`

    要查看特定命令的历史记录,可以使用grep命令来过滤输出。例如,要查找执行的特定命令,可以使用以下命令:
    “`shell
    history | grep “command”
    “`

    3. 使用auditd审计工具:auditd是Linux上的一个审计框架,可以记录系统中的各种活动。可以使用以下命令来查看使用特定命令的用户:
    “`shell
    sudo ausearch -k command
    “`

    其中,command是要查找的命令名称。

    4. 使用syslog查看命令日志:syslog是Linux中的一个系统日志库,记录了各种系统活动信息。可以使用以下命令来查看命令的执行日志:
    “`shell
    sudo cat /var/log/syslog | grep “command”
    “`

    其中,command是要查找的命令名称。

    5. 使用bash历史记录查看命令:每个用户都有一个.bash_history文件,记录了用户使用bash shell执行的命令历史记录。可以使用以下命令查看最近执行的命令:
    “`shell
    cat ~/.bash_history
    “`

    要查找特定命令的历史记录,可以使用grep命令来过滤输出。例如,要查找执行的特定命令,可以使用以下命令:
    “`shell
    cat ~/.bash_history | grep “command”
    “`

    其中,command是要查找的命令名称。

    以上是五种常用的方法来查看谁执行了特定的命令。根据不同的需求和系统配置,可能需要使用不同的方法来找到所需的信息。

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

    在Linux系统中,可以使用以下方法去查询谁执行了特定的命令:

    1. 使用`history`命令

    Linux系统终端会保存用户执行的命令历史记录。可以使用`history`命令查看最近执行过的命令列表,包括命令的序号和执行时间。执行以下命令:

    “`
    history
    “`

    可以显示最近执行的命令列表,序号从1开始递增。你可以找到你想要查询的命令并记录它的序号。

    2. 使用`grep`命令过滤查询

    你可以使用`grep`命令结合`history`命令的输出,来过滤查找特定的命令。使用以下命令:

    “`
    history | grep “command”
    “`

    将`command`替换为你想查询的命令。`grep`命令会输出包含该命令的历史记录条目。

    3. 查看`/var/log/auth.log`文件

    如果需要查询更早之前的命令执行记录,可以查看`/var/log/auth.log`文件。这个文件记录了系统上所有用户的登录和其他身份验证活动。执行以下命令:

    “`
    sudo grep “command” /var/log/auth.log
    “`

    将`command`替换为你想查询的命令。`grep`命令会输出包含该命令的日志记录。

    4. 查看`/home/username/.bash_history`文件

    每个用户都有一个`.bash_history`文件,保存了该用户在终端中执行的命令历史记录。你可以查看该文件来查询特定的命令。执行以下命令:

    “`
    cat /home/username/.bash_history | grep “command”
    “`

    将`username`替换为你想查询的用户的用户名,将`command`替换为你想查询的命令。`grep`命令会输出包含该命令的历史记录条目。

    5. 使用`last`命令

    `last`命令可以显示最近登录到系统的用户记录。执行以下命令:

    “`
    last
    “`

    `last`命令会输出用户的登录信息,包括登录时间和登录来源。你可以查找特定用户并记录登录时间,然后查询该时间段内该用户执行的命令。

    以上是几种常用的查询谁执行了命令的方法。根据实际情况选择合适的方法进行查询。

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

400-800-1024

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

分享本页
返回顶部