假设我用"rx“标志打开了一个文件。
Q1。使用"r“和"rx”有什么区别?
Q2。有没有可能即使我打开一个带有"rx“标志的文件,fclose也会失败?我听说fclose失败的大部分原因是由于‘刷新’写操作。
Q3。假设我是uid/euid 1000的进程。如果我派生的子进程execve为'setuid‘二进制文件(用户1001所有),父进程是否可以访问子进程打开的文件描述符(1001拥有的文件,权限为-r-)??如果这是不可能的,那么如何才能防止这种情况发生呢?
Q4。Q1、2、3会因glibc / Linux kernel / Arch版本的不同而不同吗?
我想特别从程序员的角度来理解这件事。提前谢谢你。
发布于 2020-06-19 07:27:05
我认为fopen("file", "rx")是不正确的,因为没有名为"rx"的模式,并且"r"和"x"之间的组合使用是非法的。
https://stackoverflow.com/questions/22695235
复制相似问题