小编Flo*_*ian的帖子

如何从root用户使用setuid()成为用户,以后可能再次成为root用户?

我正在尝试做安全的事情,并且有一个程序需要以root身份运行才能在不需要它时删除它的权限.如果我chmod的SUID位是二进制,并且它属于root,那么这很有效,因为现在我有UID =某个用户,而EUID = root,所以我可以使用seteuid(0)seteuid(getuid())分别提升和删除管理员权限.

但是,如果我使用sudo而不是设置SUID,那么UID == EUID == 0,因此调用seteuid(getuid())不会有任何影响.而且我不能仅仅UID从一些随机用户那里改变一些价值,因为setuid()手册页明确指出,如果从以root身份运行的程序调用它,那么就会失去权利,没有希望让他们回来.

那么,如何让我的程序在运行时暂时失去其权限sudo

c linux security setuid root

11
推荐指数
2
解决办法
9456
查看次数

标签 统计

c ×1

linux ×1

root ×1

security ×1

setuid ×1