ptrace_scope
是一个 sysctl 值 ( ),设置为 1 时会阻止在非子进程上/proc/sys/kernel/yama/ptrace_scope
使用。这通常被认为是良好的安全实践。ptrace
不幸的是,能够以开发人员的身份跟踪进程(并附加到正在运行的进程,因此不是子进程)非常有用。sudo
与该功能一起使用CAP_SYS_PTRACE
允许一个人附加到任何正在运行的进程,而不仅仅是用户拥有的进程。在共享开发机上,可能不希望允许所有进程ptrace
通过sudo
,因为这实际上允许以任何用户身份运行任意代码。
我想做的是允许用户 sudo (或以其他方式要求身份验证)来 ptrace 非子进程,但不允许他们 ptrace 任意进程。本质上是允许他们ptrace_scope
在临时的、身份验证保护的基础上自行更改。
这可能吗?