/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Hvordan finder jeg en brugers rigtige navn~
Fra : Klaus Alexander Seis~


Dato : 27-07-01 21:03

Hej rødder.

Er der en "kanonisk" måde at finde en brugers rigtige navn på?

Hvis loginnavnet er gemt i variablen LOGIN, så virker det på min
Debian linux-box hvis jeg laver en

grep ^${LOGIN}: | awk -F: '{print $5}'

men gælder det for 'alle' unices, eller er der en bedre måde?


// Klaus

--
><>°    vandag, môre, altyd saam

 
 
Jørgen Lehmann (28-07-2001)
Kommentar
Fra : Jørgen Lehmann


Dato : 28-07-01 08:26

Hej,

Variablen LOGNAME er meget udbredt på BSD-lignende systemer, men alene det,
at det er en env.variabel som brugeren kan ændre
efter behov, gør metoden noget usikker.

char *getlogin() funktionen er bedre. Den returnerer login-navnet.

Du kan også benytte getpwuid(getuid()) men det er noget rod, hvis brugeren
har flere indgange i passwd-filen med det samme loginnavn.

Med venlig hilsen

Jørgen Lehmann


"Klaus Alexander Seistrup" <kas@magnetic-ink.dk> skrev i en meddelelse
news:slrn9m3i6o.5u9.kas@zigzag.magnetic-ink.dk...
> Hej rødder.
>
> Er der en "kanonisk" måde at finde en brugers rigtige navn på?
>
> Hvis loginnavnet er gemt i variablen LOGIN, så virker det på min
> Debian linux-box hvis jeg laver en
>
> grep ^${LOGIN}: | awk -F: '{print $5}'
>
> men gælder det for 'alle' unices, eller er der en bedre måde?
>
>
> // Klaus
>
> --
> ><>° vandag, môre, altyd saam



Kent Friis (28-07-2001)
Kommentar
Fra : Kent Friis


Dato : 28-07-01 09:41

Den Sat, 28 Jul 2001 09:25:36 +0200 skrev Jørgen Lehmann:
>Hej,
>
>Variablen LOGNAME er meget udbredt på BSD-lignende systemer, men alene det,
>at det er en env.variabel som brugeren kan ændre
>efter behov, gør metoden noget usikker.
>
>char *getlogin() funktionen er bedre. Den returnerer login-navnet.
>
>Du kan også benytte getpwuid(getuid()) men det er noget rod, hvis brugeren
>har flere indgange i passwd-filen med det samme loginnavn.

Den tilsvarende kommando i et shellscript hedder id(1).

Mvh
Kent
--
The frozen north will hatch a flightless bird,
who will spread his wings and dominate the earth
And cause an empire by the sea to fall
To the astonishment, and delight of all.

Klaus Alexander Seis~ (28-07-2001)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 28-07-01 10:02

Jørgen Lehmann skrev:

>> Er der en "kanonisk" måde at finde en brugers rigtige navn på?
>>
>> Hvis loginnavnet er gemt i variablen LOGIN, så virker det på min
>> Debian linux-box hvis jeg laver en
>>
>> grep ^${LOGIN}: | awk -F: '{print $5}'
>>
>> men gælder det for 'alle' unices, eller er der en bedre måde?
>
> Variablen LOGNAME er meget udbredt på BSD-lignende systemer,

Men nu var det brugerens rigtige navn, fx "Niels Nielsen", jeg var
interesseret i at finde, ikke loginnavnet (det har jeg allerede).


// Klaus

--
Læs venligst <URL:http://www.usenet.dk/netikette/quote.html>.

Kent Friis (28-07-2001)
Kommentar
Fra : Kent Friis


Dato : 28-07-01 10:14

Den Sat, 28 Jul 2001 11:01:45 +0200 skrev Klaus Alexander Seistrup:
>Jørgen Lehmann skrev:
>
>>> Er der en "kanonisk" måde at finde en brugers rigtige navn på?
>>>
>>> Hvis loginnavnet er gemt i variablen LOGIN, så virker det på min
>>> Debian linux-box hvis jeg laver en
>>>
>>> grep ^${LOGIN}: | awk -F: '{print $5}'
>>>
>>> men gælder det for 'alle' unices, eller er der en bedre måde?
>>
>> Variablen LOGNAME er meget udbredt på BSD-lignende systemer,
>
>Men nu var det brugerens rigtige navn, fx "Niels Nielsen", jeg var
>interesseret i at finde, ikke loginnavnet (det har jeg allerede).

Men du spurgte om det virker på alle unix - det gør det ikke. Det kan
være enten $LOGIN, $LOGNAME eller $USER. /etc/passwd derimod burde have
samme layout på alle unix (medmindre muligvis de kører fx. NIS med
informationerne placeret på en central server).

Mvh
Kent
--
The revolution has just begun.

Klaus Alexander Seis~ (28-07-2001)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 28-07-01 10:27

Kent Friis skrev:

>> Men nu var det brugerens rigtige navn, fx "Niels Nielsen", jeg var
>> interesseret i at finde, ikke loginnavnet (det har jeg allerede).
>
> Men du spurgte om det virker på alle unix - det gør det ikke.

Nej, jeg spurgte om shell-kommandoen virkede hvis loginnavnet var gemt
i variablen LOGIN (som for den sags skyld kunne have været DYTBAAT eller
noget helt tredje), dvs. om brugerens rigtige navn altid er gemt i felt
nummer fem i /etc/passwd. Jeg gjorde ikke nogen antagelser om hvorvidt
LOGIN bliver sat til loginnavnet fra systemets side.

> /etc/passwd derimod burde have samme layout på alle unix

Tak, det var den oplysning jeg havde brug for (med mindre der findes
en "kanonisk", eller mere sikker, metode til at finde brugerens rigtige
navn).


// Klaus

--
><>°    vandag, môre, altyd saam

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408885
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste