Тройку прав можно записать одной цифрой, а весь режим — тремя. Так права задают целиком, одной командой.
У каждой буквы свой вес: r — 4, w — 2, x — 1. Цифра тройки — сумма разрешённых букв: rw- — 6, r-x — 5, r-- — 4, --- — 0. Три цифры идут в том же порядке, что тройки: владелец, группа, остальные. 640 — это rw-r-----.
stat печатает режим числом и строкой: 644 -rw-r--r-- у /etc/passwd и 640 -rw-r----- у /etc/shadow.
chmod 640 файл задаёт все три тройки сразу. Символьная запись меняет одно место, число — весь режим. Числом удобно, когда известно, каким режим должен стать целиком.
chmod -R 777 каталог даёт всем чтение, запись и запуск каждого файла дерева. Отказ пропадёт, а с ним и защита: менять чужие файлы сможет любой.
Что напечатает stat -c '%A' deploy.sh после chmod 750 deploy.sh?
-
Цифры идут в порядке троек: владелец, группа, остальные. Первая, 7, — у владельца, последняя, 0, — у остальных.
-
rw-— это 6 (4 + 2). У группы цифра 5: 4 + 1, то естьr-x. -
У владельца 7 — все три буквы, 4 + 2 + 1.
rw-было бы 6.
7 = 4 + 2 + 1 — rwx у владельца, 5 = 4 + 1 — r-x у группы, 0 — --- у остальных. Проверь на любом своём файле: chmod 750 файл, затем stat -c '%A' файл.
Главное в шаге
-
Цифра тройки — сумма весов:
r— 4,w— 2,x— 1; три цифры — владелец, группа, остальные. - Символьная запись меняет одно место строки, число задаёт весь режим.