|
| 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
| |
|
|