【发布时间】:2020-04-28 21:12:01
【问题描述】:
在这个问题中:What's the connection between flags and mode in open file function in C
在 cmets 中:
问题
如果我在第一个文件中使用“S_IRUSR”作为模式位创建文件 open(),然后其他人使用“O_RDONLY”调用 open(),因为标志不会 能够读取文件
回答
同一用户将能够读取该文件。而且,只是技术性, 不是其他用户无法读取文件,而是 他们将无法打开文件
所以我问过在打开(或创建)新文件时设置权限有什么意义,这就是我在这里问的原因。 也有提到:
作为一个极端的例子,他们可能对目录具有写访问权 这意味着他们可以重命名您的文件,将其复制到原始名称, 可以访问它,然后删除您重命名的那个。权限确实有效 但您必须确保它们设置正确(例如保护 通向文件的完整路径,而不仅仅是文件本身。
所以我不明白“正确设置标志”是什么意思。并且还不明白权限设置的目的,当它不安全时。谁能解释一下?
【问题讨论】:
-
当您错误引用文本时,很难知道您在问什么。你写“所以我不明白‘安全设置标志’是什么意思”,但文本说“你必须确保它们设置正确”。在该文本中,“正确”可能意味着获得正确的值(谁可以阅读,谁可以搜索目录,等等)。 “安全地”可能意味着“以无法颠覆的方式设置”。