Provided by: manpages-pl-dev_20060617-3_all bug

NAZWA

       getlogin, cuserid - odczytanie nazwy uytkownika

SK/LADNIA

       #include <unistd.h>

       char *getlogin(void);

       #include <stdio.h>

       char *cuserid(char *string);

OPIS

       getlogin   zwraca  wskanik  do  lacucha  zawierajcego  nazw  uytkownika
       zalogowanego na terminalu sterujcym procesu, lub wskanik NULL, jeli nie
       mona  tej informacji okreli. Lacuch ten jest alokowany statycznie i moe
       zosta nadpisany przez  poniejsze  wywolanie  tej  funkcji  lub  funkcji
       cuserid.

       cuserid   zwraca   wskanik  do  lacucha  zawierajcego  nazw  uytkownika
       skojarzonego z efektywnym identyfikatorem uytkownika dla procesu.  Jeli
       string  nie  jest  wskanikiem  NULL,  powinien  on by tablic, ktora moe
       pomieci co najmniej  L_cuserid  znakow;  lacuch  jest  zwracany  w  tej
       tablicy.  W  przeciwnym  przypadku,  zwracany jest wskanik do lacucha w
       obszarze pamici statycznej. Lacuch ten jest alokowany statycznie i  moe
       zosta  nadpisany  przez  poniejsze  wywolania  tej  funkcji lub funkcji
       getlogin.

       Makro L_cuserid jest stal calkowit okrelajc, jaka dua  tablica  moe  by
       potrzebna    do   przechowania   nazwy   uytkownika.   L_cuserid   jest
       zadeklarowane w stdio.h.

       Funkcje te pozwalaj programowi pozytywnie zidentyfikowa uytkownika,  na
       prawach  ktorego dziala program (cuserid) lub uytkownika zalogowanego w
       danej sesji (getlogin). (Mog to by roni uytkownicy,  gdy  wchodz  w  gr
       programy setuid-owe.)

       W  wikszoci  zastosowa,  bardziej  przydatne  dla  okrelenia  kim  jest
       uytkownik jest poslugiwanie  si  zmienn  rodowiskow  LOGNAME.  Jest  to
       bardziej  elastyczne,  wlanie  dlatego, e uytkownik moe dowolnie ustawi
       LOGNAME.

B/LDY

       ENOMEM Zabraklo pamici na przydzielenie struktury passwd.

PLIKI

       /etc/passwd    plik bazy danych z haslami
       /var/run/utmp  (tradicyjnie /etc/utmp;
                      niektore wersje libc uywaly /var/adm/utmp)

ZGODNE Z

       POSIX.1. System V zawiera funkcj cuserid,  ktora  posluguje  si  raczej
       rzeczywistym  identyfikatorem uytkownika, ni efektywnym identyfikatorem
       uytkownika. Funkcj cuserid wlczono w wersji  POSIX  z  roku  1988,  ale
       usunito j w wersji z roku 1990.

USTERKI

       Na  nieszczcie, raczej latwo jest oglupi getlogin().  Czasem nie dziala
       ona wcale, gdy jaki program namieszal w pliku utmp.  Czsto  zwraca  ona
       jedynie   pierwszych  8  znakow  nazwy  logowania.  Ponadto,  uytkownik
       aktualnie zalogowany  na  terminalu  sterujcym  programu  nie  musi  by
       uytkownikiem,  ktory  ten  program  uruchomil.   Ze wzgldow zwizanych z
       bezpieczestwem, naley unika getlogin().

       Nikt dokladnie  nie  wie,  co  robi  cuserid()  -  naley  jej  unika  w
       przenonych  programach  -  naley  jej w ogole unika i uywa zamiast niej
       getpwuid(geteuid()), jeli jest to to, czego potrzeba.  NIE  NALEY  UYWA
       cuserid().

ZOBACZ TAKE

       geteuid(2), getuid(2)

INFORMACJE O T/LUMACZENIU

       Powysze  tlumaczenie  pochodzi z nieistniejcego ju Projektu Tlumaczenia
       Manuali i moe nie by aktualne. W razie zauwaenia ronic  midzy  powyszym
       opisem  a  rzeczywistym  zachowaniem  opisywanego programu lub funkcji,
       prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.