Provided by:
manpages-pl-dev_20060617-3_all 
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.