使用 setuid 降低权限级别的正确方法是什么?
我正在用 C 编写一个程序,绑定到端口 < 1024. 我希望此后它能够以非 root 权限运行。
我知道我需要调用 setuid(),但是用什么参数呢? UID 因系统而异。
I'm writing a program in C that binds to a port < 1024. I'd like it to run at non-root privileges thereafter.
I know I need to call setuid(), but with what argument? UID's vary from system to system.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
比您想知道的更多http://www.eecs .berkeley.edu/~daw/papers/setuid-usenix02.pdf
More than you'll want to know http://www.eecs.berkeley.edu/~daw/papers/setuid-usenix02.pdf
您可以使用
getpwnam()
来查找用户 uid/gid 按名称:You can use
getpwnam()
to look up a users uid/gid by name: