getgroups

Autres langues

Langue: ru

Autres versions - même langue

Version: 1997-12-10 (openSuse - 09/10/07)

Section: 2 (Appels système)

éíñ

getgroups, setgroups - ÐÏÌÕÞÉÔØ/ÕÓÔÁÎÏ×ÉÔØ ÓÐÉÓÏË ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× (ID) ÇÒÕÐÐ

ïâúïò

#include <sys/types.h>
#include <unistd.h>

int getgroups(int size, gid_t list[]);

#include <grp.h>

int setgroups(size_t size, const gid_t *list);

ïðéóáîéå

getgroups
õ×ÅÌÉÞÉ×ÁÅÔ ÓÐÉÓÏË list ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÇÒÕÐÐ (ÞÌÅÎÁÍÉ ËÏÔÏÒÙÈ Ñ×ÌÑÅÔÓÑ ÔÅËÕÝÉÊ ÐÏÌØÚÏ×ÁÔÅÌØ -- ÐÒÉÍ. ÐÅÒ.) ÄÏ ÒÁÚÍÅÒÁ size É ×ÏÚ×ÒÁÝÁÅÔ ÜÔÏÔ ÓÐÉÓÏË. îÅ×ÏÚÍÏÖÎÏ ÕÚÎÁÔØ ÂÕÄÅÔ ÌÉ ×ËÌÀÞÅÎ × ÜÔÏÔ ÓÐÉÓÏË ÜÆÆÅËÔÉ×ÎÙÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÇÒÕÐÐÙ, ×ÙÚÙ×ÁÀÝÅÇÏ ÐÒÏÃÅÓÓÁ. (ôÁËÉÍ ÏÂÒÁÚÏÍ, ÐÒÉÌÏÖÅÎÉÅ ÄÏÌÖÎÏ ÔÁËÖÅ ×ÙÚ×ÁÔØ getegid(2) É ÄÏÂÁ×ÉÔØ ÉÌÉ ÕÄÁÌÉÔØ ÐÏÌÕÞÅÎÎÏÅ ÚÎÁÞÅÎÉÅ.) åÓÌÉ ÒÁÚÍÅÒ size ÒÁ×ÅÎ ÎÕÌÀ, ÓÐÉÓÏË list ÎÅ ÉÚÍÅÎÑÅÔÓÑ, ÐÒÏÓÔÏ ×ÏÚ×ÒÁÝÁÅÔÓÑ ÏÂÝÅÅ ËÏÌÉÞÅÓÔ×Ï ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÇÒÕÐÐ ÄÌÑ ÔÅËÕÝÅÇÏ ÐÒÏÃÅÓÓÁ.
setgroups
õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÙ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÇÒÕÐÐ ÄÌÑ ÔÅËÕÝÅÇÏ ÐÒÏÃÅÓÓÁ. ôÏÌØËÏ ÓÕÐÅÒÐÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÕ ÆÕÎËÃÉÀ.

÷ïú÷òáýáåíïå úîáþåîéå

÷ ÓÌÕÞÁÅ ÕÓÐÅÈÁ
getgroups ×ÏÚ×ÒÁÝÁÅÔ ËÏÌÉÞÅÓÔ×Ï ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÇÒÕÐÐ. ðÒÉ ÏÛÉÂËÅ ×ÏÚ×ÒÁÝÁÅÔÓÑ -1 É ÚÎÁÞÅÎÉÅ errno ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÍ ÏÂÒÁÚÏÍ.
÷ ÓÌÕÞÁÅ ÕÓÐÅÈÁ
setgroups ×ÏÚ×ÒÁÝÁÅÔ ÎÏÌØ. ðÒÉ ÏÛÉÂËÅ ×ÏÚ×ÒÁÝÁÅÔÓÑ -1 É ÚÎÁÞÅÎÉÅ errno ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÍ ÏÂÒÁÚÏÍ.

ïûéâëé

EFAULT
óÐÉÓÏË list ÉÍÅÅÔ ÎÅÐÒÁ×ÉÌØÎÙÊ ÁÄÒÅÓ.
EPERM
ðÏÌØÚÏ×ÁÔÅÌØ ×ÙÚÙ×Á×ÛÉÊ setgroups, ÎÅ Ñ×ÌÑÅÔÓÑ ÓÕÐÅÒÐÏÌØÚÏ×ÁÔÅÌÅÍ.
EINVAL
äÌÑ setgroups, size ÂÏÌØÛÅ, ÞÅÍ NGROUPS (32 ÄÌÑ Linux 2.0.32). äÌÑ getgroups, size ÍÅÎØÛÅ, ÞÅÍ ËÏÌÉÞÅÓÔ×Ï ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÇÒÕÐÐ, ÎÏ ÎÅ ÎÏÌØ.

úáíåþáîéñ

ðÒÏÃÅÓÓ ÍÏÖÅÔ ÉÍÅÔØ ËÁË ÍÉÎÉÍÕÍ NGROUPS_MAX ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÇÒÕÐÐ × ÄÏÐÏÌÎÅÎÉÉ Ë ÜÆÆÅËÔÉ×ÎÏÍÕ ÉÄÅÎÔÉÆÉËÁÔÏÒÕ ÇÒÕÐÐÙ. óÐÉÓÏË ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÇÒÕÐÐ ÎÁÓÌÅÄÕÅÔÓÑ ÉÚ ÒÏÄÉÔÅÌØÓËÏÇÏ ÐÒÏÃÅÓÓÁ É ÍÏÖÅÔ ÂÙÔØ ÉÚÍÅΣΠÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ setgroups. íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÇÒÕÐÐ ÍÏÖÎÏ ÎÁÊÔÉ ÉÓÐÏÌØÚÕÑ sysconf(3):

    long ngroups_max;

    ngroups_max = sysconf(_SC_NGROUPS_MAX);

íÁËÓÉÍÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ, ×ÏÚ×ÒÁÝÁÅÍÏÅ getgroups ÎÅ ÍÏÖÅÔ ÂÙÔØ ÂÏÌØÛÅ ÞÅÍ ÎÁ ÅÄÉÎÉÃÕ ÚÎÁÞÅÎÉÑ ÐÏÌÕÞÅÎÎÏÇÏ ÄÁÎÎÙÍ ÓÐÏÓÏÂÏÍ.

ðÒÏÔÏÔÉÐ ÄÌÑ setgroups ÄÏÓÔÕÐÅÎ ÔÏÌØËÏ ÅÓÌÉ ÚÁÄÁÎ ÆÌÁÇ _BSD_SOURCE (ÉÌÉ Ñ×ÎÏ ÉÌÉ ÎÅÑ×ÎÏ, ÎÏ ÚÁÄÁÎ ÆÌÁÇ _POSIX_SOURCE ÉÌÉ ËÏÍÐÉÌÑÃÉÑ ÐÒÏ×ÏÄÉÔÓÑ Ó ÆÌÁÇÏÍ -ansi).

óïïô÷åôóô÷éå óôáîäáòôáí

SVr4, SVID (ÔÏÌØËÏ × 4-Ê ÒÅÄÁËÃÉÉ; ÄÁÎÎÙÅ ×ÙÚÏ×Ù ÏÔÓÕÔÓÔ×ÕÀÔ × SVr3), X/OPEN, 4.3BSD. æÕÎËÃÉÑ getgroups ÅÓÔØ × POSIX.1. ó ÔÅÈ ÐÏÒ ËÁË setgroups ÔÒÅÂÕÅÔ ÐÒÅ×ÉÌÅÎÉÊ ÏÎÁ ÎÅ ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ POSIX.1.

óíïôòéôå ôáëöå

initgroups(3), getgid(2), setgid(2)

ðåòå÷ïä

ðÅÒÅ×£Ì Ó ÁÎÇÌÉÊÓËÏÇÏ ÷ÉËÔÏÒ ÷ÉÓÌÏÂÏËÏ× <corochoone@perm.ru> 2003