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

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

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

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

Пример 3. Как узнать идентификаторы пользователя и членство в группах

[student@localhost student]$ id uid=500 (student) gid=500(student) группы=500 (student)

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


Идентификатор группы

Пользователь может быть членом нескольких групп, равно как и несколько пользователей могут быть членами одной и той же группы. Исторически сложилось так, что одна из групп – группа по умолчанию – является для пользователя основной - когда говорят о "GID пользователя", имеют в виду именно идентификатор группы по умолчанию. GID пользователя вписан в учетную запись и хранится в /etc/passwd, а информация о соответствии имен групп их идентификаторам, равно как и о том, в какие еще группы входит пользователь – в файле /etc/group. Из этого следует, что пользователь не может не быть членом как минимум одной группы.


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



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