当前位置: 技术问答>linux和unix
请教个setuid(getpid())的问题
来源: 互联网 发布时间:2016-12-09
本文导语: 我看使用原始套接字的程序中,都有使用 setuid(getpid())这个函数,可是我在看 man setuid时发现,该函数的自变量是 当前进程的有效用户ID(the effective user ID of the current process), 我就不明白了,那它为什么不使用setuid...
我看使用原始套接字的程序中,都有使用
setuid(getpid())这个函数,可是我在看
man setuid时发现,该函数的自变量是
当前进程的有效用户ID(the effective user ID of the current process),
我就不明白了,那它为什么不使用setuid(geteuid())呢?我也看到有人使用setuid(getuid()),
请问到底是用什么?
(我也测试了,发现getpid()与geteuid()是不同的)
setuid(getpid())这个函数,可是我在看
man setuid时发现,该函数的自变量是
当前进程的有效用户ID(the effective user ID of the current process),
我就不明白了,那它为什么不使用setuid(geteuid())呢?我也看到有人使用setuid(getuid()),
请问到底是用什么?
(我也测试了,发现getpid()与geteuid()是不同的)
|
setuid(getpid())
这个不理解
setuid的参数是一个uid_t类型的,与进程ID没有直接关系
不会是印刷错误吧
这个不理解
setuid的参数是一个uid_t类型的,与进程ID没有直接关系
不会是印刷错误吧
|
因为你的程序有S权限,运行得到了root权限。
创建完原始套接字紧接着就是去除权限,就是把有效用户改为实际用户,这样就脱离root了恢复真身了,成为了一个无权利的人。
创建完原始套接字紧接着就是去除权限,就是把有效用户改为实际用户,这样就脱离root了恢复真身了,成为了一个无权利的人。