是否有(兼容)的方式来欺骗(作为root)的Unix套接字(文件系统套接字)对等凭证其可以通过getsockopt()
获得,选项SO_PEERCRED
?UNIX套接字:是否有可能欺骗getsockopt()SO_PEERCRED?
背景:
我需要连接到服务器应用程序(我不能修改),其检查其经由SO_PEERCRED
连接到它的处理的UID
。我想欺骗这些信息,以便能够将连接到应用程序作为根,也可以。
UPDATE
为了澄清问题:
我在寻找一种非侵入性的方式该服务器发现的特定对UID
/GID
。 解决方案是气馁这就需要改变内核(或采取使用内核模块的)或改变服务器进程或其装载/以任何方式联过程(LD_PRELOAD
,系统呼叫拦截等)。
基本上,解决方案应该在没有任何特殊要求的任何linux(或一般unix)服务器上运行。服务器进程可能已经在运行。
如果你是'root',为什么不只是'setuid'?你可以从一个完全控制的子进程中做到这一点,这样你就可以避免实际上失去权限。 – nneonneo
我不确定,但在Linux下,'/ proc//fdinfo/'中有一个八进制值前缀标志。 –
alk
您可以控制服务器进程的启动,即,您是否可以使用LD_PRELOAD修改库函数/ syscall thunk来更改报告的凭据? –