Files
SecondBrain/90 Library/05 Operating System/Linux/File Permissions.md
T
2026-05-14 10:49:10 +03:00

3.6 KiB

status, type, tags, created, updated, title
status type tags created updated title
stable concept
os
linux
2025-12-17 2026-05-07 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).
chmod 600 <path_to_file>
chmod o+r -R <path_to_dir>
  • chown → изменение владельца (owner).
chown <user> <path>
chown <user>:<group> <path>
  • chgrp → изменение группы.
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