我正在开发一个以root身份运行的守护进程,但需要与用户调用API,我检查了API代码,它用于getuid()
获取用户.
如果root用户删除了特权setuid()
,则无法将其恢复为root.如果调用seteuid(),API仍将以用户身份执行操作uid=0
.
我认为在访问子进程中的API和setuid之前的fork应该可行,但即使COW,如果多次调用API也会花费很多.除了使用进程池之外,是否可以解决问题?
在linux中,如果我只有用户名,如何获取用户ID?我用man getuid,但找不到任何关于它的线索.EDIT1:对不起,我想通过api获取用户ID.我不喜欢分支另一个进程来调用系统函数.