--- status: stable type: concept tags: - os - linux created: 2025-12-17 updated: 2026-05-07 title: File Permissions --- # File Permissions В системах Linux права и привилегии присваиваются файлам и каталогам в виде разрешений. Эти разрешения указывают, кто может _читать_, _писать_ или _выполнять_ (запустить) их. В Linux существует три типа пользователей: **владельцы**, **группы** и **другие**, которые могут иметь другой набор разрешений. **Права (permissions)** — указывают, кто и что может делать с файлом или директорией: - `r` (read) — чтение содержимого файла или просмотр списка файлов в директории. - `w` (write) — запись/изменение содержимого файла или добавление/удаление файлов в директории. - `x` (execute) — запуск файла как программы или возможность "войти" в директорию (`cd`). **Категории пользователей:** - **owner (u)** — владелец файла. - **group (g)** — члены группы, связанной с файлом. - **others (o)** — все остальные пользователи. `-rwxr--r-- 1 root root 4096 Jan 1 12:00 filename` - → это обычный файл (d будет означать директорию). - rwx → владелец может читать, писать, исполнять. - r-- → группа может только читать. - r-- → остальные могут только читать. ## Основные Команды - `chmod` → изменение прав (permissions). ```bash chmod 600 chmod o+r -R ``` - `chown` → изменение владельца (owner). ```bash chown chown : ``` - `chgrp` → изменение группы. ```bash chgrp ``` ## Особые Биты Кроме стандартных rwx есть **особые флаги**: - **SUID (set user ID,** `**s**`**)** — исполняемый файл запускается с правами владельца. Пример: `/usr/bin/passwd` запускается с правами root, хотя ты обычный пользователь. - **SGID (set group ID)** — аналогично, но для группы. У директорий — новые файлы наследуют группу. - **Sticky bit (**`**t**`**)** — на директориях запрещает пользователям удалять чужие файлы. Классический пример: `/tmp`. ## Связанные заметки - [[Volume - Docker]] — uid/gid и права доступа в Docker Volumes определяются Linux-правами; проблема "root как владелец" решается через userns-remap + chown - [[Modules - Ansible]] — модуль `user` управляет uid/gid; `file`/`copy` задают владельца и режим файлов через те же chmod/chown - [[Сегментация сети]] — принцип наименьших привилегий: на уровне ФС — rwx для owner/group/others; на уровне сети — VLAN для Admin/Employee/Guest ## Связанные заметки - [[Linux]]