gpt4 book ai didi

c - 是否可以使用任何系统调用甚至使用可加载内核模块更改另一个进程的打开文件描述符的访问标志?

转载 作者:太空宇宙 更新时间:2023-11-04 04:26:58 25 4
gpt4 key购买 nike

我正在运行一个以只读 访问模式打开文件的进程(进程 A)。然后它暂停,导致进程保持运行并保持文件描述符打开。稍后,如果可能出现以下任何情况,它将在一段时间后恢复并继续运行。

我想知道这些是否可行:

  1. 我们能否创建另一个具有 super 用户权限的进程(进程 B),它可以访问进程 A 的打开文件描述符并将其访问模式更改为读写?
  2. 我们能否修改进程 A 的文件描述符,从进程内(我的意思是在其代码内)从只读修改为读写?
  3. 我能否创建一个可加载内核模块来使用其进程 ID (PID) 访问进程 A 并检查打开的文件描述符并更改其读写权限?

I have searched the forums countless number of times, but didn't find anything specific to my problem. I also found out about the fcntl() system call. But this doesn't allow us to modify the status flag of a file descriptor.

最佳答案

你不能。权限在打开文件描述符时就已锁定,如果权限可以在运行时更改,则几乎不可能确保系统的安全性。你可以制作一个内核模块来改变它,但这几乎是对系统稳定性和安全性的死刑判决。

您可以做的和通常做的是用不同的权限再次打开文件并将文件描述符替换为 dup2

关于c - 是否可以使用任何系统调用甚至使用可加载内核模块更改另一个进程的打开文件描述符的访问标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40468756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com