我有一个作为root启动的守护进程(因此它可以绑定到低端口).初始化后,出于安全原因,我非常希望让它删除root权限.

有人能给我指出一段C语言的known correct段代码吗?

我已经阅读了手册页,我已经研究了不同应用程序中的各种实现,它们都是不同的,其中一些非常复杂.这是与安全相关的代码,我真的不想重蹈其他人的覆辙.我正在寻找的是一个最佳实践、已知良好的、可移植的库函数,我可以在知道它会正确的情况下使用它.这样的事情真的存在吗?

作为参考:我以root身份启动;我需要更改为在不同的uid和gid下运行;我需要正确设置补充组;之后不需要更改回root权限.

推荐答案

您正在寻找这篇文章:

POS36-C. Observe correct revocation order while relinquishing privileges

不知道如何在不复制页面内容的情况下最好地将一些信息放在那里...

C++相关问答推荐

我可以动态分配具有空类型函数的矩阵吗?

CC crate 示例不会与C函数链接

使用SWI—Prolog的qsave_program生成二进制文件有什么好处?'

常数函数指针优化

增加getaddrinfo返回的IP地址数量

为什么GCC C23中的关键字FALSE不是整数常量表达式?

Rust FFI--如何用给出返回引用的迭代器包装C风格的迭代器?

获取每个循环迭代结束时的当前时间

在Apple Silicon上编译x86的Fortran/C程序

C指针概念分段故障

C I/O:在Windows控制台上处理键盘输入

如何仅使用软件重新初始化STM32微控制器中的USB枚举?

这段代码用于在C中以相反的顺序打印数组,但它不起作用

链表删除 node 错误

从另一个宏函数调用C宏

我编写这段代码是为了判断一个数字是质数、阿姆斯特朗还是完全数,但由于某种原因,当我使用大数时,它不会打印出来

Malloc和对齐

挥发性语义的形式化理解

C循环条件内的函数

使用复合文字数组初始化的指针数组