GETUID(2) | Руководство программиста Linux | GETUID(2) |
getuid, geteuid - получить идентификатор пользователя
#include <unistd.h> #include <sys/types.h>
uid_t getuid(void); uid_t geteuid(void);
getuid() возвращает фактический идентификатор (ID) пользователя вызывающего процесса.
geteuid() возвращает эффективный идентификатор пользователя вызывающего процесса.
Функции всегда завершаются успешно.
POSIX.1-2001, POSIX.1-2008, 4.3BSD.
В UNIX V6 вызов getuid() возвращал (euid << 8) + uid. В UNIX V7 появились отдельные вызовы getuid() и geteuid().
Первоначальные версии системных вызовов getuid() и geteuid() в Linux поддерживали только 16-битные идентификаторы пользователей и групп. Позднее в Linux 2.4 были добавлены вызовы getuid32() и geteuid32(), поддерживающие 32-битные идентификаторы. В glibc обёрточные функции getuid() и geteuid() работают одинаково вне зависимости от версий ядра.
На Alpha вместо пары системных вызовов getuid() и geteuid() предоставляется один getxuid(), который возвращает пару реальный и эффективный UID. Обёрточные функции glibc getuid() и geteuid() скрывают это. Подробности об отображении регистров смотрите в syscall(2).
2019-03-06 | Linux |