【问题标题】:Can a sudo user read the command file for which sudo access is enabled?sudo 用户可以读取启用了 sudo 访问的命令文件吗?
【发布时间】:2021-04-03 18:35:42
【问题描述】:

我有一个普通的 Linux 用户 user1,它可以通过 sudo 访问命令 /usr/local/bin/command.sh。

/usr/local/bin/command.sh 有 700 权限。因此,user1 能够成功运行

sudo /usr/local/bin/command.sh

现在我想知道使用 sudo 命令会发生权限提升。是否有任何可能性,甚至是远程的可能性,他可以读取 /usr/local/bin/command.sh 的内容? sudo by design 是一个非常严格的基于命令的实现吗?

【问题讨论】:

    标签: linux sudo elevated-privileges


    【解决方案1】:

    一个字的答案是:没有。

    (...) 因此 user1 能够成功运行 (...)

    严格来说,运行该可执行文件的不是user1,而是用户切换到使用sudo(在您的情况下为root),当然也可以读取该文件。现在,如果通过 sudo 运行的可执行文件存在漏洞,您可以利用该漏洞读取任意文件。文件,但那会不好

    【讨论】:

    • 因此设计上 sudo 仅按原样执行命令。不多不少。在我的情况下,当然是作为 root 用户。所以除非 sudo 本身有一些漏洞或者执行的命令是可利用的,否则正在执行的命令文件是不可读的。我想制作一些脚本并授予普通用户访问权限,而不会透露其具体细节。谢谢。
    • @KirtiSingh:好吧,考虑一下您的用户可能能够使用 USB 拇指驱动器或 LiveCD 启动机器。然后你的脚本将不再是“不可读的”——除非你把它放到一个加密的分区中,这个分区是使用某种形式的 TPM 或类似的测量启动保护密钥加密的。一般来说,试图对计算机上运行的任何东西的内容保密是一件愚蠢的事。
    猜你喜欢
    • 2019-05-29
    • 2019-07-07
    • 1970-01-01
    • 2019-02-10
    • 2013-09-21
    • 2015-05-28
    • 1970-01-01
    • 2019-01-14
    相关资源
    最近更新 更多