C w文件,这就是我在这里问的原因。有 还提到:

C w文件,这就是我在这里问的原因。有 还提到:,c,io,flags,C,Io,Flags,作为一个极端的例子,他们可能拥有对目录的写访问权,这意味着他们可以重命名您的文件,将其复制到原始名称,访问该文件,然后删除您重命名的文件。权限确实有效,但您必须确保权限设置正确(例如保护指向文件的整个路径,而不仅仅是文件本身) 引文中的注释部分不正确。确实,对目录具有写入权限但对文件完全没有权限的人可以重命名或删除该文件(在该目录中/从该目录中,见下文)。同样,在扫清障碍后,同一个人可以用另一个人的原始名称创建一个新文件,供他们阅读。然而,un确实,这样的人可以将原始文件复制到其原始名称或任何其

作为一个极端的例子,他们可能拥有对目录的写访问权,这意味着他们可以重命名您的文件,将其复制到原始名称,访问该文件,然后删除您重命名的文件。权限确实有效,但您必须确保权限设置正确(例如保护指向文件的整个路径,而不仅仅是文件本身)

引文中的注释部分不正确。确实,对目录具有写入权限但对文件完全没有权限的人可以重命名或删除该文件(在该目录中/从该目录中,见下文)。同样,在扫清障碍后,同一个人可以用另一个人的原始名称创建一个新文件,供他们阅读。然而,un确实,这样的人可以将原始文件复制到其原始名称或任何其他名称,或者可以使用这样的策略来阅读原始文件

这里的一个关键点是,目录D中文件F的目录项只是一种特殊类型文件中的数据:从一个名称到底层文件系统中的一个项的映射。该项是D的一部分,而不是F的一部分,因此操作它需要访问D,而不是F。人们通常所说的文件名实际上不是该文件的一部分它也不一定是唯一的,因为同一个底层文件可以在多个位置以相同或不同的名称链接到目录树

第二个关键点与第一个关键点相关:文件的权限位于文件系统中,而不是目录列表中,并且它们在控制对文件内容的访问方面是有效的。事实上,对于目录和其他类型的文件,这是相同的:用户需要对给定目录的读取权限才能读取其内容,并且需要对其授予修改其内容的权限。因此,文件的访问控制属性确实起到了有用的作用,需要对其进行适当设置,以使文件充分满足其预期目的

因此,问题第一部分的答案有两个:

  • 文件的访问控制属性是该文件的文件系统元数据的固有部分,因此在创建文件时,无法避免将其设置为某个属性
  • 当您打开一个尚不存在但您愿意创建的文件(名称)时,您不能延迟权限设置,因为系统将使用该文件的初始权限来检查打开新创建文件的权限。文件的相应权限不能从请求的打开模式派生
第二部分的答案要简单得多:在尝试打开文件时必须指定访问模式,因为这是操作系统强制执行访问控制的方式和时间。。此外,您可以指定一种限制性更强的模式,作为内部控制,以防止错误执行意外操作档案上有

我不明白“正确设置标志”是什么意思


这个评论对我来说似乎足够清楚,特别是考虑到它所附的例子,但是如果包含它的更大的语句被改写为“您不仅需要考虑到文件本身,还需要考虑到文件路径中的每个目录,以确保文件权限正确地满足您的安全目标。”

当您错误引用文本时,很难知道您在问什么。您写了“因此我不明白“安全设置标志”是什么意思,”但是文本说“你必须确保它们设置正确”。在文本中,“正确”可能意味着获得正确的值(对于谁可以阅读,谁可以搜索目录,等等)。“安全”可能意味着“以一种不可颠覆的方式设置”。当你错误引用文本时,很难知道你在问什么。你写“所以我不明白“安全设置标志”是什么意思,”但文本中说“你必须确保它们设置正确”。在该文本中,“正确”可能意味着获得正确的值(对于谁可以阅读,谁可以搜索目录,等等)。“安全”可能意味着“以一种无法颠覆的方式设置”
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