gpt4 book ai didi

c - 非root用户的setuid等效项

转载 作者:IT王子 更新时间:2023-10-29 01:06:16 24 4
gpt4 key购买 nike

Linux是否具有类似于setuid的C接口(interface),该接口(interface)允许程序使用例如来切换到其他用户。用户名/密码? setuid的问题在于它只能由 super 用户使用。

我正在运行一个简单的Web服务,该服务需要以登录用户身份执行作业。因此,主进程以root身份运行,并且在用户登录后,fork并调用setuid切换到适当的uid。但是,我对以root身份运行的主要proc不太满意。我宁愿让它以其他用户身份运行,并拥有某种类似于su的机制来切换到另一个用户(但无需启动新进程)。

最佳答案

不,没有办法仅使用用户名和密码来更改UID。 (内核无法以任何方式识别“密码”的概念-它仅存在于用户空间中。)要从一个非根UID切换到另一个,您必须成为根,作为中间步骤,通常通过exec()-设置setuid二进制文件。

您遇到的另一种选择是让主服务器以非特权用户身份运行,并使其与以root用户身份运行的后端进程通信。

关于c - 非root用户的setuid等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13040644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com