# Права доступа: chmod

Курс: Claude Code и терминал: с 0 — https://zero2claude.ru/learn/code-terminal
Канонический URL: https://zero2claude.ru/learn/code-terminal/15-10-prava-chmod

У каждого файла есть права — кто может его читать, менять и запускать. Команда chmod их меняет; чаще всего нужна chmod +x, чтобы сделать скрипт исполняемым.

Ты написал скрипт, запускаешь его — а система отвечает «отказано в доступе». Файл на месте, текст внутри правильный, но запустить нельзя. Дело в правах доступа.

## Что такое права доступа

У каждого файла есть набор прав — кто и что с ним может делать:

- **r** (read) — читать содержимое;
- **w** (write) — изменять;
- **x** (execute) — запускать как программу.

Для обычного текстового файла право `x` не нужно. А вот скрипт (`.sh`) без него не запустится — система не считает его исполняемым файлом.

## chmod — менять права

Права меняет команда `chmod` (от *change mode*). Самый частый случай для новичка — сделать скрипт исполняемым флагом `+x`:

```
chmod +x deploy.sh
```

После этого скрипт можно запускать. Логика флагов простая: `+` добавляет право, `-` убирает. Например, `chmod -w файл` уберёт право на изменение — файл станет защищённым от случайной правки.

`+x` — это 90% случаев, с которыми ты столкнёшься. Полная система прав (числа вроде 755) — тема на потом; сейчас достаточно запомнить связку «новый скрипт → `chmod +x` → запуск».

## Попробуй

В домашней папке лежит скрипт `deploy.sh`, но запустить его пока нельзя. Сделай его исполняемым и запусти — `./` перед именем говорит «запусти этот файл из текущей папки»:

```
chmod +x deploy.sh
./deploy.sh
```

Когда скрипт выведет свой текст, урок зачтётся.
