b8c4c21f

Идентификатор пользователя


Говоря о правах доступа пользователя к файлам, стоит заметить, что в действительности манипулирует файлами не сам пользователь, а запущенный им процесс (например, утилита rm или cat). Поскольку и файл, и процесс создаются и управляются системой, ей нетрудно организовать какую угодно политику доступа одних к другим, основываясь на любых свойствах процессов как субъектов и файлов как объектов системы.

В Linux, однако, используются не какие угодно свойства, а результат идентификации пользователя – его UID. Каждый процесс системы обязательно принадлежит какому-нибудь пользователю, и идентификатор пользователя (UID) – обязательное свойство любого процесса Linux. Когда программа login запускает стартовый командный интерпретатор, она приписывает ему UID, полученный в результате диалога. Обычный запуск программы (exec()) или порождение нового процесса (fork()) не изменяют UID процесса, поэтому все

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

Поскольку UID однозначно определяется входным именем, оно нередко используется вместо

идентификатора – для наглядности. Например, вместо выражения "идентификатор пользователя, соответствующий входному имени methody", говорят "UID methody" (в приведенном ниже примере этот идентификатор равен 503):

[methody@localhost methody]$ id uid=503(methody) gid=503(methody) группы=503(methody) [methody@localhost methody]$ id shogun uid=400(shogun) gid=400(shogun) г руппы=400(shogun),4(adm),10(wheel),19(proc)

Пример 6.1. Как узнать идентификаторы пользователя и членство в группах (html, txt)

Утилита id, которой воспользовался Мефодий, выводит входное имя пользователя и соответствующий ему UID, а также группу по умолчанию и полный список групп, членом которых он является.



Содержание раздела