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— папка