Gå til innhold

Registrere brukere via HTML (php?)


pgdx

Anbefalte innlegg

Skrevet

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

Videoannonse
Annonse
Skrevet

Hva med å ta en titt på ferdigløsningene du snakker om? Da får du vel tips til hvordan det kan gjøres, du trenger ikke sitte å skrive av kilden selv om du bruker den som veiledning.

Skrevet

Finnes vel kansje også noen ferdige funksjoner for å opprette brukere?

 

Og pass på sikkerhet. Du vil ikke at noen "oppretter seg en konto med uidnr 0"....

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

Skrevet

Post her hvis du finner ut noe smart. Jeg sliter med det samme. Vil kode selv, men trenger inspirasjon..

 

Problemet er jo å hindre uautorisert bruk av adduser.. Vil ikke la apache kjøre som root, eller satse boxen på apache..

Skrevet

Kanskje lage et script som settes som suid, for da kjøres det som eieren.

Så må du sette gruppa til apache-gruppa og gi kjøretilgang, og gi de andre brukerne 0 tilgang.

Skrevet

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?

Skrevet

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

Skrevet

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

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...