OS X ls手册页中“ rw-”文件模式下的第三个符号是什么意思?


11

ls对于具有rw-模式的文件,我很难理解的手册。这是报价:

  1. 如果是r文件是可读的 ; 如果为,则无法读取。

  2. 如果为w,则文件可写;否则为。如果,则不可写。

  3. 适用以下条件中的第一个:

    S     如果具有所有者权限,则该文件不可执行,并设置为set-user-ID模式。如果在组权限中,则该文件不可执行,并设置为set-group-ID模式。

    s     如果具有所有者权限,则该文件是可执行文件,并且设置了设置用户ID模式。如果在组权限中,则该文件是可执行文件,并且设置了setgroup-ID模式。

    x     该文件是可执行文件,也可以搜索目录。

        该文件既不是可读不可写,可执行的,也不是set-user-ID,set-group-ID模式或粘性的。

特别是,它似乎以粗体相互矛盾的两个部分:根据第一个,因为模式开头r,该文件是可读的,但是根据最后一个,该文件是可读的。但是,显然不是这样。

那么,第三部分关于文件“既不可读,也不可写...”意味着什么?


参考书目

  • apple.com似乎是上面引用的文本的来源。  是手册页(对于OS X 10.9版,标题为“ BSD通用命令手册”),是引用该手册的讨论页。
  • ss64.com也具有OS X ls手册页的副本。
  • tuhs.org具有4.4 BSD手册页。当心:它wwoorrdd用于粗体和_w_o_r_d下划线。
  • freebsd.org的FreeBSD 10.1手册页日期为2013年3月15日。
  • unix.com在man-page / freebsd目录(对于FreeBSD 11.0)下具有错误页面的副本。请注意,他们在man-page / posix下也有正确页面的副本。
  • “ A + 4 Real StudyExam4Less计算机系列”包含问题中引用的文本,外加有关T和的几段t,但不包括整个手册页。这是这本书的books.google.com上谈论OS X.你可以看到从两个略有不同版本的网页(版本?)这里这里。   certiguide.com似乎在引用它们。
  • stevens.edu是一个PDF文件,其中包含的BSD(通用命令手册)版本ls(1)。日期为2011年9月24日。

更好:

  • quora.com具有相同的文本,但格式(缩进)严重损坏,以至于含义不明确。

更好的是:

  • cyberciti.bizhurricanelabs.com的文字相同,但缩进已纠正到有人可以认为它基本上可以接受的程度。但是他们俩仍然还是一团糟。


1
rwx –读/写/执行
rwx- emirjonb

@emirjonb我不确定这如何回答我的问题。
Max Yankov

2
@sawdust根据此手册摘录, rw-文件同时可读(r),可写(w),既不可读也不可写(-)。
gronostaj

1
@CML我不认为您读过这个问题。
Max Yankov

Answers:


16

该答案以前曾发布在Stack Exchange上,直到我注意到问题已被转移。

报价中的每个编号点依次适用于三个字符中的每个字符。

如果第一个字符为“ r”,则文件可读

如果第二个字符是“ w”,则文件可写

如果第三个字符是“ x / s / S”,则文件具有适当的可执行文件和/或set-userid / setgroupid属性

如果字符为“-”,则文件不具有该属性。

前三个字符(在目录标识符之后)适用于用户权限,后三个用于分组权限,第三个。


1
好的,这是对以下问题的一个很好的答案:“ rw-文件模式下的第三个符号是什么意思?” 但是真正的问题是,“如何ls(1)理解此OS X 手册页?” 答案是:“不可能;不能;不能。这是乱码。” 以上引用和/或解释正确,连贯的ls(1)手册页的文章并未回答有关OS X手册页的问题。
Scott

这仍然是一个很好的答案。虽然您的答案在技术上是正确的,但对于将来会在此手册页上进行搜索的随机人来说,这是最有帮助的。
Max Yankov

是的,但问题是“输出的ls意思是什么?” 关于ls -al输出中的字段是什么意思的更详尽的解答在Unix和Linux Stack Exchange上。同样,当然,任何使用Google搜索此类问题的人都可以在网络上找到数百万个优质清晰的资源,包括非OS X,非BSD版本的ls(1)
Scott

9

您是对的-这没有道理。它看起来像某种复制和粘贴错误(尽管我看到它出现在网络上的多个站点上。)


(免费)BSD 手册页也有该措辞。
user2543253 2015年

1
这不是一个复制和粘贴错误:从rojomoke签了答案
CML

你想说什么?rojomoke的答案对模式位的经典9个字符表示形式进行了连贯的解释,这一解释不同于问题中所提出的不连贯的解释。我相信,苹果公司的一些技术作家很有可能会彻底重新格式化他并不真正理解的内容,并破坏了过程中的含义。
Scott

如果没有缩进,那么最后一行会更有意义,因为-确实表示没有值,但是缩进表示它是项目#3的描述的一部分,该项目描述了每个组的第三个符号。
phyrfox

是的,这正是@Max的问题​​所在-尽管,如果不缩进最后一行,则第1和第2段将是多余的,因为它们还指定了-出现的条件。
斯科特

-3

更改文件权限时,可以用简单的rw-或wx-表示两个权限,这意味着r和w都将设置为NO。在第二个示例中,w AND x都设置为NO。

您也可以指示r + w-将READ设置为YES,将WRITE设置为NO。或rx +用于将“读取并执行”设置为“是”。


1
我不确定这是否与我提出的问题有关。
Max Yankov

1
我不确定这是否与这个星球有关。:-)⁠–
斯科特(Scott)

chmod参数的格式与ls -l输出的格式不同。
彼得·科德斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.