当一个进程使用 成功获取 fdopen(flags=O_RDWR)
时,只要 fd 没有关闭(本地文件系统上的常规文件),它就能够读/写该文件,即使其他进程使用 chmod 取消读/写相应用户的权限。Linux内核是否检查inode或打开文件描述的文件权限?但是当进程尝试使用 执行该文件execveat
时,内核会读取磁盘以检查 x 位和 suid 位权限吗?打开文件描述中记录了什么样的权限,它是否包含完整的 ACL 或简单的可读/可写位,因此每个操作 else( execveat
、fchdir
、fchmod
等) 都会检查磁盘信息?
如果我将此 fd 转移到另一个进程的 fsuid 在该文件上没有读/写/执行位的另一个进程(根据磁盘上的文件系统信息),接收进程是否能够读/写/执行通过 fd 归档?