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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

В Unix-подобных операционных системах пользователи идентифицируются идентификаторами пользователя (англ. User identifier, UID).

Операционная система различает пользователей именно по UID (а не, например, по логину). Во многих системах существует возможность создать две записи пользователя с разными логинами, но одинаковыми UID; в результате оба логина будут иметь одинаковые права, так как с точки зрения системы они неотличимы (так как имеют одинаковый UID). Это может использоваться злоумышленниками: проникнув в систему и получив права root, взломщик может создать себе аккаунт с UID=0, чтобы потом возвращаться в систему под логином, не привлекающим внимания, но получать права root.

Множество допустимых значений UID зависит от системы; в общем случае UID допускает использование значений от 0 до 65535 с некоторыми оговорками:

  • Суперпользователь всегда должен иметь UID, равный нулю (0).
  • Пользователю nobody обычно присваивается или наибольший из возможных UID (в противоположность суперпользователю), или один из системных UID (см. ниже).
  • UIDы с 1 по 100 по соглашению резервируются под системные нужды; некоторые руководства рекомендуют резервировать UIDы со 101 по 499 (в Red Hat) или даже 999 (в Debian).

Значение UID ставится в соответствие пользователю в файле /etc/passwd. Файлы теневого пароля и Network Information Service также используют числовые UIDы. Идентификатор пользователя-владельца является необходимым атрибутом файла файловых систем Unix и процессов.

Некоторые операционные системы могут поддерживать 16-битные UIDы, что делает возможным создание 65536 уникальных идентификаторов, хотя современные системы с поддержкой 32-битных UIDов могут иметь 4,294,967,296 (232) различных значений идентификаторов.

См. также[править | править вики-текст]

Ссылки[править | править вики-текст]