非特权用户可以修改提升进程的文件描述符表吗?

信息安全 linux 文件访问 核心
2021-08-25 06:05:32

在 Linux 中,每个进程都有自己的文件描述符表,该表保存对所有打开的文件和类文件设备的引用。该表由内核管理。

非特权用户是否有可能修改提升进程的文件描述符表中的文件描述符,以便文件描述符指向另一个文件?

一个实际的例子

进程 1000 运行root并从 FD 0 ( ) 连续读取stdin到 FD 1 ( stdout)。进程 1001 运行eve并希望修改 PID 1000 的文件描述符表,以便 FD 1 指向/etc/sudoers

这可能吗?

1个回答

一旦该过程开始,这是不可能的。如前所述,这样做的唯一方法是通过重定向,但是这发生在 bash 内部(正如您在评论中指出的那样)而不是在进程内部,因此不适合作为您问题的解决方案。