Gå til innhold

Registrere brukere via HTML (php?)


pgdx

Anbefalte innlegg

Jeg skal sette opp en liten server hvor jeg kan gå inn å registrere en bruker via HTTP og at det autmoatisk opprettes en hjemmekatalog til denne brukeren på serveren.

 

Deretter skal denne personen få opprettet et www-mappe med en standard index.php-fil, en FTP-login til hjemmemappen m.m.m.

 

 

Men jeg vil jo begynne i det enkle, og lurer på hvordan det best bør gjøres? Skal jeg åpne (fopen) /etc/passwd med php og skrive direkte inn i filen? Hvordan er det da med oppretting av passord?

 

Kan jeg kryptere passord i php til annet enn MD5? Er det den såkalte crypt4 som blir brukt i Linux til passord? Går det problemfritt å skrive brukernavn, loginshell, uid og gid og hjemmemappe i /etc/passwd og skrive brukernavn og kryptert passord rett inn i /etc/shadow?

 

 

Jeg vet at det finnes ferdige løsninger for dette, men det er ikke det som er poenget mitt. Jeg vil liksom lære litt...

Lenke til kommentar
Videoannonse
Annonse
Og pass på sikkerhet. Du vil ikke at noen "oppretter seg en konto med uidnr 0"....

Nei, det kommer ikke til å skje. Jeg kommer ikke til å la folk legge seg inn uten et passord, og i tillegg kommer de ikke til å få tillatelse til å endre uid uig eller gid.

Lenke til kommentar

Som er blitt sagt før: Et JÆVLIG godt skrevet script som tar seg av opprettingen, satt som suid root, og som du kaller fra PHP eller hva enn du velger å bruke. Pass bare for ALL del på at scriptet kvalitetskontrollerer innkommende data. Kanskje er det best å bruke en ferdiglaget løsning her?

Lenke til kommentar

<såpekasse>

Bare for å terpe videre: Et script med root tilgang og som gjør noe som helst med

/etc/passwd eller filrettigheter er hver for seg ting man ikke driver med uten å vite ekstremt godt hva man gjør.... Jeg aner ikke noe om dine programmeringskunnskaper, drange_net, men jeg ville ikke tatt sjansen på noe slikt, annet enn på en egen 'lekemaskin' uten nettilgang for noen særlig flere enn meg selv . I hvert fall, google litt på begreper som

'safety' 'input validation' 'automatic testing' sammen med php

'xp' (nei ikke operativsystemet fra dem du vet som ikke nevnes her, men extreme programming) er også noe å kikke på for å få ideer om testing.

</såpekasse>

 

(Det kan jo være at du kan så mye at du vet hvordan du skal unngå fellene og blir fornærmet av denne typen moralske pekefingere, i så fall beklager jeg, men i alle fall er dette et prosjekt med fallhøyde (Sier mannen som har brukt hele sommeren på å legge om tak uten egentlig å vite hva han driver med... ;) ))

 

Forøvrig, det du sier om å legge inn en del standard mapper / filer i en nyopprettet brukers katalog, kan ordnes ved å sette opp en 'template mappe' et passende sted, se man adduser.

 

 

 

M.

Lenke til kommentar

/etc/skel er en standardmappe som inneholder templatet som nye brukeres home-foldere blir opprettet fra.

 

Bruk adduser i stedet for å rote med /etc/passwd selv, mindre sjanse for at noe kan gå galt/exploites.

Så kontrollerer du alle variabler som sendes til adduser i suid-scriptet.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...