AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 460003
Accepted
Dean Hiller
Dean Hiller
Asked: 2012-12-22 05:35:10 +0800 CST2012-12-22 05:35:10 +0800 CST 2012-12-22 05:35:10 +0800 CST

在所有命令之前自动运行 sudo 的任何方式(好吧,有点......继续阅读)

  • 772

我总是喜欢在以我们的“服务器用户”身份操作时使用 sudo 命令,这样我的所有操作都会记录在 sudo 日志中,以后我可以对其进行逆向工程。但是,我不想每次都键入 sudo -u serveruser 并且不想创建别名。有没有我可以执行 shell 的程序或其他东西,这样我运行的每个命令实际上都以 sudo -u serveruser 作为前缀,所以感觉就像我自己是用户一样。

如果是这样,我可以为所有管理员设置它,他们甚至不会真正注意到差异,我们可以通过 sudo 日志记录免费获得历史记录。

编辑:我要找的是这些东西

  1. 非常简单的设置(我们的 sudo 已经设置好了,除了这个 sudo like shell 会很好)
  2. 日志时间戳
  3. 记录用户执行命令(即可能是我,在这种情况下是院长)
  4. 将他们执行命令的用户记录为(即本例中的 serveruser)
  5. 记录实际命令

sudo 开箱即用,但我试图为用户找出#1,因为我们(这个团队的人)不想一直输入 sudo :(。

编辑:也许有一种方法可以在 bash 中吸收 stdin 和 stdout 来编写脚本,这样就可以调用 sudoshell -u username 和我在 stdin 上输入的除“exit”之外的任何命令,然后使用 sudo -u username 运行。有没有办法让我们所有的管理员都可以运行这样的脚本?然后当有人运行 sudo su 时 - 我可以记录一条消息来运行该 shell,而不是如下所示......那会很好用。知道怎么做吗?

谢谢,院长

linux
  • 2 2 个回答
  • 1530 Views

2 个回答

  • Voted
  1. Best Answer
    the-wabbit
    2012-12-22T06:02:17+08:002012-12-22T06:02:17+08:00

    您正在寻找的是审计跟踪。Sudo 会提供它(有限制),但还有其他方法可以实现它。

    如果您只需要记录输入到 shell 中的内容,并且不想安装额外的软件包,可以将 bash 4 配置为通过 syslog 记录历史记录。

    您还可以从大量可用的审计包中进行选择。一个快速简单的解决方案可能是史努比记录器。

    • 3
  2. Stefan Lasiewski
    2012-12-22T10:25:51+08:002012-12-22T10:25:51+08:00

    我总是喜欢在以我们的“服务器用户”身份操作时使用 sudo 命令,这样我的所有操作都会记录在 sudo 日志中,以后我可以对其进行逆向工程。

    听起来您想记录所有 sudo 命令,以便以后可以对其进行审核。

    你应该看看sudosh2。这是描述:

    sudosh 是一个审计 shell 过滤器,可以用作登录 shell。Sudosh 记录所有击键和输出,并且可以像 VCR 一样回放会话。

    例如:用户 joe 登录系统,键入sudo sudosh并被授予超级用户权限。在这一点之后,所有输入和输出都被记录下来。日志进入一个文件,或通过系统日志发送到您的中央系统日志服务器(在那里它们不能被删除)。您可以重放日志并准确查看人们输入的内容(您甚至可以看到拼写错误、退格等)和输出。

    它可能无法满足您的所有要求,但听起来您对类似的选择持开放态度。

    有关详细信息,请参阅我对记录从 root 执行的每个命令的其他答案。

    • 2

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve