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

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

Set UID, SUID – Установить UID процесса при выполнении

Set GID, SGID –Установить GID процесса при выполнении

Дополнительные атрибуты также устанавливаются утилитой chmod(l), но вместо кодов r, w или х используются код s.

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

Обычно запускаемая программа получает права доступа к системным ресурсам на основе прав доступа пользователя, запустившего программу. Установка флагов SUID и SGID изменяет это правило, назначая права доступа исходя из прав доступа владельца файла. Установка SUID приведет к наследованию прав владельца-пользователя файла, а установка SGID — владельца-группы.

Каждая выполняющаяся программа (т. е. процесс) имеет четыре идентификатора, наследуемых от файла запущенного на выполнение: идентификатор владельца (UID), идентификатор группы (GID), эффективный идентификатор владельца (EUID) и эффективный идентификатор группы (EGID).

Если в процессе выполнения программа должна обратится к файлу, то для проверки прав доступа к файлу используются только эффективные идентификаторы.

Когда процесс пытается открыть для записи какой-либо файл, QNX сначала смотрит, совпадает ли EUID процесса с идентификатором владельца файла. Если совпадает, то проверяется, имеет ли владелец права на запись. Если владелец имеет такие права, то файл открывается с разрешением на запись, если не имеет — процесс получит уведомление "Доступ запрещен". Если EUID не совпадает с идентификатором владельца файла, то проверяется, совпадает ли EGID процесса с файловым идентификатором группы. Если никакие идентификаторы не совпали, то к данному процессу применяются атрибуты доступа, установленные для "остальных".

Для процессов с EUID = 0 (т. е. для пользователя "root") доступ к файлам предоставляется без процедуры проверки прав.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: