为什么当 sudo 命令起作用时 strace sudo 命令炸弹?

use*_*908 6 sudo strace setuid

我的用户名被允许执行

sudo 命令

那为什么这个炸弹

strace sudo 命令

有错误:

sudo: must be setuid root

小智 8

“必须是 setuid root”是由在 strace 中运行 sudo 引起的。

来自 man strace:

BUGS 使用 setuid 位的程序在被跟踪时没有有效的用户 ID 权限。

如果您想对 setuid 进行 strace 设置并尊重 setuid 位,则必须使用 -u 选项以 root 身份运行 strace(此问题已提交:奇怪的 strace 和 setuid 行为:strace 下的权限被拒绝,但无法正常运行