我有一个以root身份启动的守护程序(因此它可以绑定到低端口)。初始化后,我非常想让它为了安全起见而放弃root权限。删除root权限
任何人都可以指向我在已知的正确的在C代码片段会做到这一点?
我已经阅读过手册页,我已经在不同的应用程序中看到了这个不同的实现,它们都是不同的,有些非常复杂。这是与安全相关的代码,我真的不希望重蹈其他人的同样错误的重犯。我正在寻找的是一种最佳实践,即已知的,可移植的便携式库函数,我可以使用这些函数以获得正确的知识。这样的事情存在吗?
仅供参考:我以root身份启动;我需要改变在不同的用户和gid下运行;我需要让补充小组正确设置;之后我不需要改回根权限。
这在unixes之间有很大的不同 - 有没有特别的?如果你需要一个“便携式”解决方案,它会很麻烦,你最好抓住例如来自OpenSSH的permanent_set_uid()函数 - 在uidswap中。c文件 – nos 2010-07-28 22:05:34