|
|||||||||||||||||||||||||||
On Thu, 20 Jul 2000, Kasper Hauge wrote:
> Jeg skal måske omformulere mit spørgsmål lidt.
>
> Når jeg har bedt brugeren om at indtaste uid og password, vil jeg gerne
> kunne udtrække uid,
> køre programmer osv. med den brugers rettigheder, via mit perl script.
> Fuldstændig som hvis
> jeg logger ind på Linux serveren via telnet. Så kan jeg f.eks. lave noget
> der ser sådan ud:
>
> print system('ls -la /home/homedir');
>
> og se indholdet af mit homedir, fordi jeg ikke hedder nobody mere !!
>
> Nu har jeg kun mulighed for at se brugeren "nobody", som du også siger.
> Hvordan for jeg
> ændret "nobody" til f.eks. "hauge". Kan det lade sig gøre, og hvad skal
> der til ??? Kan Apache ikke håndtere dette ?? Når Apache kender IP
> adressen på den der logger på, må den da kunne omsætte det til et uid !!
>
> Er jeg helt på forkerte spor eller kan du hjælpe? Jeg tror jeg er med på
> hvad du skriver, men
> jeg synes ikke rigtig mit problem er løst
>
> Til at tjekke hvem der "logget" ind, har jeg brugt variablen $<, det er
> vel også ok ?
Først skal du vide, at det du her er igang med er at bore ganske gevaldige
huller i din sikkerhed. Du skal _virkeligt_ holde tungen lige i munden for
ikke at lave noget, der kan misbruges.
Dernæst er løsningen at lave en C-wrapper, der er setuid root. C-wrapperen
skal blot starte dit perl-program, som checker om brugernavn og password
matcher. Hvis de gør, skifter den brugerid til den givne bruger og udfører
miraklerne.
Søg på google efter C-wrapper, setuid, perl, uid
/Ole
--
Du må ikke spamme.
-- Frit efter Markedsføringsloven §6a
http://www.fs.dk/jura/loveregl/mfl/l_mfl.htm
|
||||||||||||||
|
||||||||||||||