setgroups

GETGROUPS(2)            PodrÄcznik programisty Linuksa            GETGROUPS(2)



NAZWA
       getgroups, setgroups - pobiera/ustawia listÄ identyfikatorów grup
       dodatkowych

SKÅADNIA
       #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);

OPIS
        Uwaga! To tÅumaczenie może byÄ nieaktualne!

       getgroups
              Zwraca w list maksymalnie size dodatkowych ID grup. Nie jest
              okreÅlone, czy efektywny ID grupy procesu wywoÅujÄcego bÄdzie
              znajdowaÄ siÄ na zwróconej liÅcie. Tak wiÄc, aplikacja powinna
              wywoÅaÄ również getegid(2) i dodaÄ lub usunÄÄ otrzymanÄ
              wartoÅÄ.)  JeÅli size jest równe zero, to list nie jest
              modyfikowane, lecz zwracana jest ogólna liczba dodatkowych grup
              procesu.

       setgroups
              Ustawia dodatkowe grupy procesu. Jedynie superużytkownik może
              tego dokonaÄ.

WARTOÅÄ ZWRACANA
       getgroups
              po pomyÅlnym zakoÅczeniu zwraca liczbÄ grup dodatkowych.  Po
              bÅÄdzie zwracane jest -1 i odpowiednio ustawiane errno.

       setgroups
              po pomyÅlnym zakoÅczeniu zwraca zero. Po bÅÄdzie zwracane jest
              -1 i odpowiednio ustawiane errno.

BÅÄDY
       EFAULT list ma nieprawidÅowy adres.

       EPERM  Dla setgroups, użytkownik nie jest superużytkownikiem.

       EINVAL Dla setgroups, size jest wiÄksze niż NGROUPS (32 dla Linuksa
              2.0.32).  Dla getgroups, size jest mniejsze niż liczba grup
              dodatkowych, ale niezerowe.

UWAGI
       Proces może posiadaÄ maksymalnie co najmniej NGROUPS_MAX grup
       dodatkowych oprócz efektywnego ID grupy. Zbiór grup dodatkowych jest
       dziedziczony po procesie rodzicielskim i może zostaÄ zmieniony za
       pomocÄ setgroups.  Maksymalna liczba grup dodatkowych może byÄ
       odczytana za pomocÄ sysconf(3):
           long ngroups_max;
           ngroups_max = sysconf(_SC_NGROUPS_MAX);
       Maksymalna zwracana przez getgroups wartoÅÄ nie może byÄ wiÄksza niż
       powiÄkszona o jeden wartoÅÄ otrzymana w powyższy sposób.

       Prototyp dla setgroups jest dostÄpny jedynie, gdy zdefiniowane jest
       _BSD_SOURCE (bezpoÅrednio, albo poÅrednio - nie definiujÄc
       _POSIX_SOURCE czy kompilujÄc z wÅÄczonÄ flagÄ -ansi).

ZGODNE Z
       SVr4, SVID (tylko wydanie 4; wywoÅaÅ tych nie byÅo w SVr3), X/OPEN,
       4.3BSD.  Funkcja getgroups istnieje w POSIX.1. Ponieważ setgroups
       wymaga przywilejów, nie jest opisana w POSIX.1.

ZOBACZ TAKŻE
       initgroups(3), getgid(2), setgid(2)

INFORMACJE O TÅUMACZENIU
       Powyższe tÅumaczenie pochodzi z nieistniejÄcego już Projektu
       TÅumaczenia Manuali i może nie byÄ aktualne. W razie zauważenia
       różnic miÄdzy powyższym opisem a rzeczywistym zachowaniem
       opisywanego programu lub funkcji, prosimy o zapoznanie siÄ z oryginalnÄ
       (angielskÄ) wersjÄ strony podrÄcznika za pomocÄ polecenia:

              man --locale=C 2 getgroups

       Prosimy o pomoc w aktualizacji stron man - wiÄcej informacji można
       znaleÅºÄ pod adresem http://sourceforge.net/projects/manpages-pl/.



Linux 2.0.32                      1997-12-10                      GETGROUPS(2)