NAZWA¶
getlogin, cuserid - odczytanie nazwy użytkownika
SKŁADNIA¶
#include <unistd.h>
 
char *getlogin(void);
 
#include <stdio.h>
 
char *cuserid(char *string);
OPIS¶
 Uwaga! To tłumaczenie może być nieaktualne!
getlogin zwraca wskaźnik do łańcucha zawierającego
  nazwę użytkownika zalogowanego na terminalu sterującym procesu,
  lub wskaźnik NULL, jeśli nie można tej informacji
  określić. Łańcuch ten jest alokowany statycznie i
  może zostać nadpisany przez późniejsze wywołanie tej
  funkcji lub funkcji 
cuserid.
cuserid zwraca wskaźnik do łańcucha zawierającego
  nazwę użytkownika skojarzonego z efektywnym identyfikatorem
  użytkownika dla procesu. Jeśli 
string nie jest
  wskaźnikiem NULL, powinien on być tablicą, która może
  pomieścić co najmniej 
L_cuserid znaków;
  łańcuch jest zwracany w tej tablicy. W przeciwnym przypadku,
  zwracany jest wskaźnik do łańcucha w obszarze pamięci
  statycznej. Łańcuch ten jest alokowany statycznie i może
  zostać nadpisany przez późniejsze wywołania tej funkcji
  lub funkcji 
getlogin.
Makro 
L_cuserid jest stałą całkowitą
  określającą, jaka duża tablica może być
  potrzebna do przechowania nazwy użytkownika. 
L_cuserid jest
  zadeklarowane w 
stdio.h.
Funkcje te pozwalają programowi pozytywnie zidentyfikować
  użytkownika, na prawach którego działa program (
  
cuserid) lub użytkownika zalogowanego w danej sesji (
  
getlogin). (Mogą to być różni użytkownicy, gdy
  wchodzą w grę programy setuid-owe.)
W większości zastosowań, bardziej przydatne dla określenia
  kim jest użytkownik jest posługiwanie się zmienną
  środowiskową 
LOGNAME. Jest to bardziej elastyczne,
  właśnie dlatego, że użytkownik może dowolnie
  ustawić 
LOGNAME.
BŁĘDY¶
  - ENOMEM
 
  - Zabrakło pamięci na przydzielenie struktury
      passwd.
 
PLIKI¶
/etc/passwd	plik bazy danych z hasłami
 
/var/run/utmp	(tradicyjnie /etc/utmp;
			niektóre wersje libc używały  /var/adm/utmp)
ZGODNE Z¶
POSIX.1. System V zawiera funkcję 
cuserid, która posługuje
  się raczej rzeczywistym identyfikatorem użytkownika, niż
  efektywnym identyfikatorem użytkownika. Funkcję 
cuserid
  włączono w wersji POSIX z roku 1988, ale usunięto ją w
  wersji z roku 1990.
USTERKI¶
Na nieszczęście, raczej łatwo jest ogłupić getlogin().
  Czasem nie działa ona wcale, gdyż jakiś program namieszał
  w pliku utmp. Często zwraca ona jedynie pierwszych 8 znaków nazwy
  logowania. Ponadto, użytkownik aktualnie zalogowany na terminalu
  sterującym programu nie musi być użytkownikiem, który ten
  program uruchomił. Ze względów związanych z
  bezpieczeństwem, należy unikać getlogin().
Nikt dokładnie nie wie, co robi cuserid() - należy jej unikać w
  przenośnych programach - należy jej w ogóle unikać i
  używać zamiast niej getpwuid(geteuid()), jeśli jest to to,
  czego potrzeba. NIE NALEŻY UŻYWAĆ cuserid().
ZOBACZ TAKŻE¶
geteuid(2), 
getuid(2)
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 3 getlogin
 
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
  znaleźć pod adresem
  
http://sourceforge.net/projects/manpages-pl/.