此问题:What's the connection between flags and mode in open file function in C
在评论中:
问题
如果我使用'S_IRUSR'作为文件的模式位,open(),然后其他人使用“ O_RDONLY”作为标志调用open()能够读取文件
answer
同一用户将能够读取该文件。而且,只是技术问题,不是其他用户将无法读取文件,而是他们将无法打开文件
因此,我问过在打开(重新创建)新文件时设置权限的意义是什么,这就是为什么我在这里询问。还提到了:
作为一个极端示例,它们可能具有对目录的写访问权表示他们可以重命名您的文件,将其复制到原始名称,有权访问该名称,然后删除已重命名的名称。权限确实有效但是您必须确保它们设置正确(例如确保指向文件的整个路径,而不仅仅是文件本身。
所以我不明白“正确设置标志”的含义。当权限设置不安全时,它仍然不了解权限设置的目的。有人可以解释一下吗?
所以我问过打开时设置权限有什么意义(分别创建)新文件,这就是为什么我在这里询问。有还提到:
除了其他设置外,正确设置文件和目录的权限对于安全至关重要。基本上,用户应具有最小的特权才能完成其法律任务。
drwx r-x r-x 2 root root 4096 Dec 14 23:55 .
drwx r-x r-x 24 root root 4096 Dec 5 19:02 ..
-rwx r-x r-x 1 root root 1113504 Jun 7 2019 file1
-rwx r-x r-x 1 root root 748968 Aug 29 2018 file2
-rwx r-x r-x 1 root root 34888 Jul 4 2019 file3
...
-rwx r-x r-x 1 root root 34888 Jul 4 2019 file_n
^^^ ^^^ ^^^
| | |
| | +---------------------- permissions other users
| +-------------------------- permissions for group members
+------------------------------ permissions for owner
d - is a directory
r - read permission
w - write perrmision
x - execute permission