# Chmod

| двоичная | восьмеричная | символьная |    права на файл    |         права на каталог        |
| :------: | :----------: | :--------: | :-----------------: | :-----------------------------: |
|    000   |       0      |     ---    |         нет         |               нет               |
|    001   |       1      |     --x    |      выполнение     |    чтение файлов и их свойств   |
|    010   |       2      |     -w-    |        запись       |               нет               |
|    011   |       3      |     -wx    | запись и выполнение | всё, кроме чтения списка файлов |
|    100   |       4      |     r--    |        чтение       |        чтение имён файлов       |
|    101   |       5      |     r-x    | чтерие и выполнение |         досту на чтение         |
|    110   |       6      |     rw-    |   чтение и запись   |        чтение имён файлов       |
|    111   |       7      |     rwx    |      все права      |            все права            |

{% tabs %}
{% tab title="Bash" %}
```bash
chmod 755 filename
```
{% endtab %}
{% endtabs %}

|                               | **владелец** | **группа** | **остальные** |
| ----------------------------- | :----------: | :--------: | :-----------: |
| восьмеричное значение         |       7      |      5     |       5       |
| символьная запись             |      rwx     |     r-x    |      r-x      |
| обозначение типа пользователя |       u      |      g     |       o       |

## Рекурсивный chmod только для каталогов

[http://4xpro.ru/profblog/chmod/](http://4xpro.ru/profblog/chmod/)

{% tabs %}
{% tab title="Bash" %}
```bash
$ chmod -R 755 ./
$ find ./ -type f -print | xargs chmod 644
```
{% endtab %}
{% endtabs %}

Если требуется наоборот, выполнить команду только для каталогов, то после -type нужно указать d вместо f. Важно так же помнить про права доступа (т.е. если сначала поставить всем 644, а потом пытаться повысить каталогам до 755, могут начаться ошибки доступа).

{% tabs %}
{% tab title="Bash" %}
```bash
find ./ -type f -exec chmod 644 "{}" \;
```
{% endtab %}
{% endtabs %}

если в именах каталогов есть пробелы
