sudo 用户是否可以读取启用了 sudo 访问权限的命令文件?

Can a sudo user read the command file for which sudo access is enabled?

我有一个普通的 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 是否设计为非常严格的基于命令的实现?

一个词的答案是:否

(…) So therefore the user1 is successfully able to run (…)

严格来说,并不是 user1 谁在 运行 运行那个可执行文件,而是用户切换到使用 sudo(在你的例子中是 root),他当然也可以读取那个文件。现在,如果通过 sudo 在可执行文件 executable 运行 中存在漏洞,您可以利用它来读取任意值。文件,但这将是 不好的 .