Почему chmod имеет два разных значения для 5? [закрыто]

Я думаю, что я достаточно хорошо понимаю права доступа к файлам, но есть один конкретный набор разрешений, в котором есть элемент, который я не понимаю.

Набор разрешений 0755 должен отображаться как rwx-rx-rx

Но в моем терминале 0755 отображается как rwx-rx-x

Почему 5 в «Другой / Мир» позиция отображается только как выполнение, когда разрешение «Группа» равно 5, но отображается как чтение / выполнение?

Я искал ответ в Google, но на каждый подобный вопрос, который я находил, был дан ответ с объяснением таблицы разрешений, но никогда адресовано два разных значения 5.

0
задан 18 July 2016 в 04:06

1 ответ

Значения разрешения являются восьмеричными, и представляют 3 3-разрядных поля. 5 имеет только одно значение 0b101. Полномочия, которые Вы пытаетесь установить, маскируются с Вашим umask значение, которое, я предполагаю, 026, Который является:

Value you're trying to set: 755 or 0b111101101
Umask                       026 or 0b000010110
-----------------------------------------------
Actual bits used by `chmod` 751 or 0b111101001
Going back to rwx, the bits are      rwxrwxrwx
And the actual permissions set are   rwxr-x--x

См. man umask.

Эти три цифры в разрешении (еще существуют некоторые, но это - продвинутый курс), указывают полномочия доступа к файлу для Владельца файла (сначала восьмеричная цифра), пользователи с тем же GID как файл (вторая восьмеричная цифра), и Все другие (не владелец, не тот же идентификатор группы) (третья восьмеричная цифра).

0
ответ дан 18 July 2016 в 04:06

Другие вопросы по тегам:

Похожие вопросы: