4

Выполнение chmod 755 в каталоге дает мне drwxr-xr-x. Разве это не дает мне drwxr-xr-xr, так как 5 читается, выполняется?

И выполнение chmod 751 в каталоге дает мне drwxr-x - x. Разве это не дает мне drwxr-xr-x?

Пожалуйста, объясните.

3 ответа3

10

Биты - это группы по три, результаты верны, я не совсем понял, что вы неправильно поняли. 5 читается, выполняется, но порядок rwx не меняется. Рассматривайте их как переключатели, они могут быть включены (r/w/x) или выключены (-). Здесь снова обзор значений:

7(8) = 111(2) => rwx
5(8) = 101(2) => r-x
1(8) = 001(2) => --x
0

Думайте об этом так.

rwx
111  where 111 is a binary value

1 1 1      (binary)
4+2+1 -> 7 (decimal by position)

So 751 would be rwx r_x __x
                111 101 001 (binary)
                421 401 001 (decimal by position)
                 7   5   1  (decimal equivalent)
0

Ответ: это RWX. Читать. Написать. Выполнить.

Не WXR или XRW или RXW. Это только один из 3! разные способы расстановки букв. Это может прояснить некоторые ваши проблемы.

Также chmod работает с восьмеричной позиционной системой. Октал представляет собой базу 8. Который может быть представлен с использованием 1 бита со значениями от 0 до 7 включительно - всего 8, поэтому он называется восьмеричным.

Не связано: в двоичном коде три 1 представляют 1+2+4 = 7.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .