为什么当 sudo 命令可以工作时 strace sudo 命令会失败?

为什么当 sudo 命令可以工作时 strace sudo 命令会失败?

我的用户名被允许执行

sudo命令

那么为什么这枚炸弹

strace sudo命令

出现错误:

sudo: must be setuid root

答案1

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

来自 man strace:

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

如果您想要 strace setuid 操作并且让 setuid 位生效,您必须以 root 身份使用 -u 选项运行 strace (这个问题已经提交:奇怪的 strace 和 setuid 行为:在 strace 下权限被拒绝,但无法正常运行

相关内容