Постоянно забываю как менять права доступа файлов и папок в терминале…
Циферный вид прав доступа
Я привык работать с правами доступа в циферной форме, потому кратенько разберемся какая цифра за что отвечает.
Например, у нас на папке стоят права доступа 765. Теперь по-порядку:
700 (первая цифра) — права доступа для владельца
60 (вторая цифра) — права доступа для группы
5 (третья цифра) — права доступа для всех остальных юзеров
Что же означают эты цифры. А означают они сумму прав доступа:
400 — владелец имеет право на чтение
200 — владелец имеет право на запись
100 — владелец имеет право на выполнение
40 — группа имеет право на чтение
20 — группа имеет право на запись
10 — группа имеет право на выполнение
4 — остальные имеют право на чтение
2 — остальные имеют право на запись
1 — остальные имеют право на выполнение
Тоесть, на нашем примере у нас такая математика:
700 = 400 + 200 + 100 (разрено читать + записывать + выполнять)
60 = 40 + 20 (читать и записывать разрешено, выполнять — запрещено)
5 = 4 + 1 (разрешено чтение и выполнение, но записывать запрещено)
Всё сводится к простой математике, тоесть суммированию прав доступа.
chmod (смена прав доступа)
Поменять права доступа к файлу или папке может только Владелец или root. Возьмем за пример файл test.php и уоманды будут исходить от root-а (sudo в начале строки).
#sudo chmod 744 test.php
С этой команды выплывает, что владелец может файл читать, записывать и выполнять; группа — читать; остальные юзеры тоже читать.
#sudo chmod 755 test.php
Все могут этот файл выполнять и читать, но только владелец может его удалять или изменять.
chown (смена владельца)
Для конкретного файла:
#sudo chown <имя нового владельца> <имя файла>
Для папки и всех папок/файлов, которые внутри:
#sudo chown -R <имя нового владельца> <имя каталога>
chgroup (смена группы, которая владеет файлом)
Для конкретного файла:
#sudo chown <название новой группы> <имя файла>
Для папки и всех папок/файлов, которые внутри:
#sudo chown -R <название новой группы> <имя каталога>