0

假设我已经打开了一个带有“rx”标志的文件。

Q1。使用“r”和“rx”有什么区别?

Q2。即使我打开带有“rx”标志的文件,fclose 是否可能会失败?我听说 fclose 失败的大部分原因是由于“刷新”写操作。

Q3。假设我是一个 uid/euid 1000 的进程。如果我的分叉子进程执行到一个“setuid”二进制文件(用户 1001 拥有),父进程是否可以访问打开的文件描述符(文件由 1001 拥有-r-------- 子进程的权限)??如果不可能,究竟如何防止这种情况发生?

Q4。Q1、2、3 会根据 glibc / Linux 内核 / Arch 版本而有所不同吗?

我想从程序员的角度来具体理解这个问题。先感谢您。

4

1 回答 1

0

我认为fopen("file", "rx")是不正确的,因为没有调用模式"rx"以及两者之间的组合"r"使用"x"是不合法的。

于 2020-06-18T23:27:04.930 回答