SETUID(2) SETUID(2) НАЗВАНИЕ setuid, setgid - установка реальных и действующих иден- тификаторов пользователя и группы СИНТАКСИС |int setuid (uid) |int uid; | |int setgid (gid) |int gid; ОПИСАНИЕ Системный вызов setuid (setgid) используется для уста- новки реального и действующего идентификаторов пользо- вателя (группы) вызывающего процесса. После вызова суперпользователем как реальный, так и действующий идентификатор пользователя (группы) уста- навливается равным uid (gid). Если соответствующий процессу действующий идентификатор пользователя не является идентификатором суперпользова- теля, но реальный идентификатор пользователя (группы равен uid (gid), то действующий идентификатор пользова- теля (группы) устанавливается равным uid (pid). Тот же эффект имеет место, если идентификатор, сохраненный в момент переустановки [см. exec(2)], равен uid (gid). Системный вызов setuid (setgid) завершается неудачей, если выполнено хотя бы одно из следующих условий: [EPERM] Соответствующий процессу действующий иден- тификатор пользователя не является иденти- фикатором суперпользователя, и реальный идентификатор пользователя (группы) вызыва- ющего процесса не равен uid (gid). [EINVAL] Значение uid вне допустимых границ. СМ. ТАКЖЕ getuid(2), intro(2). ДИАГНОСТИКА При успешном завершении результат равен 0; в случае ошибки возвращается -1, а переменной errno присваивает- ся код ошибки.