为什么 ssh-agent 设置了 SGID?

为什么 ssh-agent 设置了 SGID?

在 openssh Red Hat 包中,我注意到ssh-agent可执行文件具有 SGID 权限设置:

$ ls -l /usr/bin/ssh-agent
-rwxr-sr-x 1 root nobody 113648 Nov 24  2010 /usr/bin/ssh-agent

openssh 开发人员为什么要ssh-agent与该组一起运行nobody?或者我可能误解了 SGID 的作用?

答案1

嗯,我的是将组设置为ssh组。我猜你使用的是 RedHat 衍生系统;他们喜欢滥用nobody用户/组。

经过谷歌搜索,我们发现 setgid 是为了防止安全漏洞,即通过 ptracing 代理获取密钥材料(http://comments.gmane.org/gmane.linux.debian.devel.ssh/59)。使进程 setgid-anything 意味着非 root (或至少非CAP_SYS_PTRACE) 用户执行的 ptracing 是 EPERMed。

相关内容