Middle
65
questionbank

Как устроена система прав доступа в операционной системе Linux?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

В Linux используется дискреционный контроль доступа (DAC). Права назначаются пользователям, группам и остальным. Для каждого из этих трех категорий определяются права на чтение (r), запись (w) и выполнение (x).

bash

Первый символ указывает тип файла (- для обычного файла, d для директории). Следующие девять символов представляют права:

  • Первые три: Права владельца (rwx)
  • Следующие три: Права группы (r-x)
  • Последние три: Права остальных (r-x)

Права можно изменить с помощью команды chmod, используя восьмеричное или символьное представление:

bash

Владельца файла или директории можно изменить командой chown:

bash

Группа файла или директории изменяется командой chgrp:

bash

Дополнительные специальные биты:

СимволОписаниеПрименение
sSUID (Set User ID): Если установлен на исполняемом файле, процесс будет выполняться с правами владельца файла, а не запускающего пользователя.Используется для программ, которым требуются повышенные права для выполнения задач, например, passwd.
sSGID (Set Group ID): Если установлен на исполняемом файле, процесс будет выполняться с правами группы файла. Если установлен на директории, новые файлы, созданные в этой директории, будут принадлежать группе этой директории.На исполняемых файлах используется реже SUID. На директориях полезно для общих директорий, где все файлы должны принадлежать одной группе.
tSticky Bit: Если установлен на директории, файлы в этой директории могут быть удалены или переименованы только их владельцем, владельцем директории или root.Часто используется в директории /tmp, чтобы пользователи не могли удалять файлы других пользователей, даже если у них есть право на запись в эту директорию.
bash

Эти механизмы совместно обеспечивают гранулярный контроль доступа к файловой системе в Linux.