chmod
Змінити права доступу до файлу чи теки
Що робить
Кожен файл має три набори прав: для власника (u), групи (g) і всіх інших (o). Права — це читання (r), запис (w) і запуск (x); для теки x означає право до неї зайти. Подивитися їх можна через ls -l: запис -rwxr-xr-x читається трійками.
Права задають літерами (+x, g+w, o-r) або числом із трьох цифр — для власника, групи й решти, де читання = 4, запис = 2, запуск = 1. Так, 644 — звичайний файл, 755 — скрипт або тека, 600 — лише власник. -R змінює права теки з усім умістом.
Обережно. chmod -R 777 відкриває все всім на читання, запис і запуск — саме так і з’являються діри в безпеці. SSH, до речі, відмовиться працювати з ключем, доступним не лише власнику.
Синтаксис
chmod +x <файл>
chmod <права> <файл>
chmod -R <права> <тека>Приклади
Дозволити запуск скрипта deploy.sh
chmod +x deploy.shchmod— змінити права+x— додати право на запускdeploy.sh— файл
Залишити доступ до ключа ~/.ssh/id_ed25519 лише його власнику: читання й запис
chmod 600 ~/.ssh/id_ed25519те саме:
chmod u=rw,go= ~/.ssh/id_ed25519chmod— змінити права600— власник: читання й запис, решта: нічого~/.ssh/id_ed25519— закритий SSH-ключ
Дати групі право запису в теку shared і в усе, що всередині
chmod -R g+w sharedте саме:
chmod --recursive g+w shared-R— рекурсивно, з усім умістомg+w— групі (g) додати (+) запис (w)shared— тека