Структура прав доступа в Linux

Board index Администрирование Операционные системы Linux

Description: Установка, настройка, оптимизация и решение проблем

#1by mexan » 12.01.2025, 00:22

В Linux права доступа для файлов и каталогов организованы в виде структуры, представляющей уровни прав для пользователей, групп и других (остальных), а также содержат разные типы разрешений. Понимание этой системы важно для управления файлами и безопасностью.

Общий формат отображения прав доступа
Когда вы выполняете команду ls -l для просмотра файлов, вы увидите примерно следующее:
Code: Select all
mexan@debian:~$ ls -l
итого 32
drwxr-xr-x 2 mexan mexan 4096 янв 10 20:43  Видео
drwxr-xr-x 2 mexan mexan 4096 янв 10 20:43  Документы
drwxr-xr-x 2 mexan mexan 4096 янв 10 20:43  Загрузки
drwxr-xr-x 2 mexan mexan 4096 янв 10 20:43  Изображения
drwxr-xr-x 2 mexan mexan 4096 янв 10 20:43  Музыка
drwxr-xr-x 2 mexan mexan 4096 янв 10 20:43  Общедоступные
drwxr-xr-x 2 mexan mexan 4096 янв 10 20:43 'Рабочий стол'
drwxr-xr-x 2 mexan mexan 4096 янв 10 20:43  Шаблоны

Первый символ
  • Первый символ указывает на тип файла:
    - - - обычный файл.
    - d - каталог (directory).
    - l - символическая ссылка (symlink).
    - b - блочное устройство (например, жёсткий диск).
    - c - символьное устройство (например, последовательный порт).
    - s - сокет.
    - p - канал FIFO.

Права доступа
Права записаны в виде трёх групп букв (owner, group, others): rwxr-xr-x
- r — разрешение на чтение (read).
- w — разрешение на запись (write).
- x — разрешение на выполнение (execute).
В данном случае:
- rwx — владелец (owner, mexan) может читать, писать и выполнять.
- r-x — группа (group, mexan) может читать и выполнять, но не может писать.
- r-x — остальные (others) могут только читать и выполнять, но не писать.

Количество ссылок
2 - количество именованных ссылок (включая ссылки на сам каталог и его подкаталоги). Для каталогов это, как правило, минимум 2:
  • Одна на сам каталог.
  • Вторая — ссылка от родителя (..).

Остальные данные
  • mexan — владелец (owner):
    Имя пользователя, которому принадлежит каталог.
  • mexan — группа (group):
    Имя группы, которой принадлежит каталог.
  • 4096 - размер:
    Размер в байтах каталога (обычно 4096 байт по умолчанию для каталогов в файловой системе ext4).
  • янв 10 20:43 - дата и время последнего изменения:
    янв 10 — дата (10 января).
    20:43 — время изменения (20 часов 43 минуты).
  • Видео, Документы и т.д. - имя каталога.
    Каталоги, владельцем которых является пользователь mexan, и у него есть полный доступ (чтение, запись, выполнение).
Image
mexan
Администратор
Reputation: 0
Posts: 179
Topics: 138

#2by mexan » 12.01.2025, 11:11

Кроме символьной записи существует ещё числовая. Для хранения всех состояний хватит трёх бит:
  • старший бит для чтения
  • средний — для записи
  • младший для выполнения.

Вот пример символьной и числовой записи для одной категории пользователей:
--- (0 = 0+0+0) — права отсутствуют;
--x (1 = 0+0+1) — права только выполнение;
-w- (2 = 0+2+0) — права только запись;
-wx (3 = 0+2+1) — права запись и выполнение;
r-- (4 = 4+0+0) — права только на чтение;
r-x (5 = 4+0+1) — права на чтение и выполнение;
rw- (6 = 4+2+0) — права на чтение и запись;
rwx (7 = 4+2+1) — имеются все права.
Image
mexan
Администратор
Reputation: 0
Posts: 179
Topics: 138

#3by mexan » 12.01.2025, 11:48

А теперь пробуем понят на практике выше описанное. Возьмем права 644 и 755.

Число 644
6 - для владельца файла (Owner).
4 - для группы (Group).
4 - для остальных пользователей (Others).

  1. Первая цифра: 6 - Владелец:
    6 состоит из: 4 (чтение) + 2 (запись) + 0 (нет прав), получаем: rw-
  2. Вторая цифра: 4 - Группа:
    4 состоит из: 4 (чтение), получаем: r--
  3. Третья цифра: 4 - Остальные пользователи:
    4 состоит из: 4 (чтение), получаем: r--
  4. В итоге получаем: rw-r--r--

Число 755
7 - для владельца файла (Owner).
5 - для группы (Group).
5 - для остальных пользователей (Others).

  1. Первая цифра: 7 - Владелец:
    7 состоит из: 4 (чтение) + 2 (запись) + 1 (выполнение), получаем: rwx
  2. Вторая цифра: 5 - Группа:
    5 состоит из: 4 (чтение) + 0 (нет прав) + 1 (выполнение), получаем: r-x
  3. Третья цифра: 5 - Остальные пользователи:
    5 состоит из: 4 (чтение) + 0 (нет прав) + 1 (выполнение), получаем: r-x
  4. В итоге получаем: rwxr-xr-x
Image
mexan
Администратор
Reputation: 0
Posts: 179
Topics: 138


Return to Linux

cron