vault backup: 2026-05-14 10:49:10
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
---
|
||||
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 <path_to_file>
|
||||
chmod o+r -R <path_to_dir>
|
||||
```
|
||||
|
||||
- `chown` → изменение владельца (owner).
|
||||
|
||||
```bash
|
||||
chown <user> <path>
|
||||
chown <user>:<group> <path>
|
||||
```
|
||||
|
||||
- `chgrp` → изменение группы.
|
||||
|
||||
```bash
|
||||
chgrp <group> <file>
|
||||
```
|
||||
|
||||
## Особые Биты
|
||||
|
||||
Кроме стандартных 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]]
|
||||
Reference in New Issue
Block a user