Что означает третий символ в режиме файла «rw-» на странице справки OS X ls?


11

У меня проблемы с пониманием lsруководства по файлу с rw-режимом. Вот цитата:

  1. Если r, то файл читается ; если это не читается.

  2. Если wфайл доступен для записи; если это не доступно для записи.

  3. Первое из следующего:

    S     Если в правах владельца, файл не является исполняемым и установлен режим set-user-ID. Если в группе разрешений, файл не является исполняемым и установлен режим set-group-ID.

    s     Если в правах владельца, файл исполняемый и установлен режим set-user-ID. Если в группе разрешений, файл исполняемый и установлен режим setgroup-ID.

    x     Файл исполняемый или каталог доступен для поиска.

        Файл не является ни читаемым , ни записываемым, ни исполняемым, ни set-user-ID, ни режимом set-group-ID, ни липким.

В частности, кажется, что два раздела, выделенные жирным шрифтом, противоречат друг другу: согласно первому, поскольку режим начинается с rфайла, он доступен для чтения, но, согласно последнему, файл не читается. Но, очевидно, это не так.

Итак, что означает этот третий раздел о том, что файл «ни для чтения, ни для записи ...»?


Список используемой литературы

  • Apple.com, кажется, источник текста, приведенного выше.  Это страница руководства (для OS X версии 10.9 под названием «Руководство по общим командам BSD»), и это страница обсуждения, которая цитирует ее.
  • На ss64.com также есть копия справочнойls страницы OS X.
  • tuhs.org имеет справочную страницу 4.4 BSD. Осторожно: он используется wwoorrddдля жирного шрифта и _w_o_r_dподчеркивания.
  • На сайте freebsd.org имеется справочная страница FreeBSD 10.1 от 15 марта 2013 г.
  • На unix.com есть копия плохой страницы в каталоге man-page / freebsd (для FreeBSD 11.0). Обратите внимание, что у них также есть копия правильной страницы в man-page / posix .
  • «A + 4 Real StudyExam4Less Компьютер серия» содержит текст , цитируемый в этом вопросе, а также пару абзацев о Tи t, но не всей странице человека. Речь идет об OS X. Вы можете увидеть страницы двух немного разных версий (изданий?) Этой книги на books.google.com здесь и здесь .   certiguide.com, кажется, цитирует их.
  • stevens.edu - это файл PDF, содержащий версию BSD (General Commands Manual) ls(1). Датировано 24 сентября 2011 года.

Лучше:

  • quora.com имеет тот же текст, но форматирование (отступ) повреждено настолько сильно, что смысл его неоднозначен.

Еще лучше:

  • cyberciti.biz и hurricanelabs.com имеют один и тот же текст, но с отступом, исправленным до такой степени, что можно утверждать, что по сути все в порядке. Но они оба все еще в полном беспорядке.


1
rwx - чтение / запись / выполнение
emirjonb

@emirjonb Я не уверен, как это отвечает на мой вопрос.
Макс Янков

2
@sawdust Согласно этому отрывку из руководства, rw-файл одновременно rдоступен для чтения ( ), записи ( w) и не доступен для чтения и записи ( -).
Гроностай

1
@CML Я не думаю, что ты читаешь вопрос.
Макс Янков

Ответы:


16

Этот ответ был ранее размещен на Stack Exchange, прежде чем я заметил, что вопрос перемещается.

Каждый пронумерованный пункт в вашей цитате относится по очереди к каждому из трех символов.

Если первый символ 'r', файл доступен для чтения

Если вторым символом является 'w', файл доступен для записи

Если третьим символом является 'x / s / S', файл имеет свойство исполняемого файла и / или set-userid / setgroupid в зависимости от ситуации.

Если символ «-», то у файла нет этого свойства.

Первые три символа (после идентификатора каталога) применяются к разрешениям пользователя , вторые три - к групповым разрешениям, а третий - ко всем остальным.


1
Хорошо, это хороший ответ на вопрос: «Что означает третий символ в rw-файловом режиме?» Но настоящий вопрос заключается в следующем: «Как ls(1)понимать эту справочную страницу OS X ?» и ответ: «Этого не может быть; это искажено. Приведенный выше пост, который цитирует и / или перефразирует правильную, связную ls(1)справочную страницу, не отвечает на вопрос о справочной странице OS X.
Скотт

Это все еще отличный ответ; Хотя ваш ответ технически верен, он наиболее полезен для случайного человека, который в будущем будет гуглить эту страницу руководства.
Макс Янков

Да, но вопрос "Что означает выход из ls?" гораздо более подробно ответил на что ls -alозначают поля в выводе? на Unix и Linux Stack Exchange. Также, конечно, любой, кто гуглит подобный вопрос, найдет в Интернете миллионы хороших и понятных источников, включая не-OS X, не-BSD версииls(1)
Скотт

9

Ты прав - это не имеет смысла. Это похоже на какую-то ошибку копирования и вставки (хотя я вижу, что она появляется на нескольких сайтах в Интернете).


Справочная страница BSD (Free) также имеет такую ​​формулировку.
user2543253

1
это не ошибка копирования и вставки: извлеките ответ из rojomoke
CML

В чем ваша точка зрения? Ответ Рожомока представляет собой последовательное объяснение классического представления символов битов режима из девяти символов - объяснение, которое отличается от несогласованного, представленного в вопросе. Я полагаю, что вполне возможно, что какой-то технический писатель в Apple кардинально переформатировал что-то, чего он на самом деле не понимал, и исказил смысл этого процесса.
Скотт

Последняя строка имела бы больше смысла, если бы она не имела отступа, потому что - действительно означает отсутствие значения, но с отступом в том виде, в каком это подразумевает, что это часть описания элемента № 3, который описывает третий символ каждой группы.
phyrfox

Да, именно в этом и заключается вопрос @ Макса - хотя, если бы последняя строка не была с отступом, то пункты 1 и 2 были бы лишними, потому что они также определяют условия, при которых они -появляются.
Скотт

-3

При изменении прав доступа к файлу можно указать два разрешения простым rw- или wx-, что означает, что ОБА r и w должны быть установлены на НЕТ. Во втором примере ОБА w и x установлены в NO.

Вы также можете указать r + w-, чтобы установить READ на YES и WRITE на NO. Или rx + для установки Read & Execute в YES.


1
Я не уверен, что это относится к вопросу, который я задал.
Макс Янков

1
Я не уверен, что это имеет отношение к этой планете. :-) ⁠
Скотт

chmodаргументы не форматируются так же, как ls -lвыходные данные.
Питер Кордес
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.