pgdx Skrevet 2. november 2004 Del Skrevet 2. november 2004 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
comicz Skrevet 3. november 2004 Del Skrevet 3. november 2004 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. Lenke til kommentar
kyrsjo Skrevet 3. november 2004 Del Skrevet 3. november 2004 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".... Lenke til kommentar
pgdx Skrevet 3. november 2004 Forfatter Del Skrevet 3. november 2004 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
Os|r|s Skrevet 3. november 2004 Del Skrevet 3. november 2004 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.. Lenke til kommentar
burre Skrevet 4. november 2004 Del Skrevet 4. november 2004 Du kan jo lage et skript som kjøres som root via sudo. Bare pass på å sjekke inngangsdata Lenke til kommentar
zyp Skrevet 4. november 2004 Del Skrevet 4. november 2004 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. Lenke til kommentar
gspr Skrevet 4. november 2004 Del Skrevet 4. november 2004 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
mysjkin Skrevet 4. november 2004 Del Skrevet 4. november 2004 <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
zyp Skrevet 4. november 2004 Del Skrevet 4. november 2004 /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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå