Skifte brukerpassord via PHP.

Kategori overført fra Linux1

Skifte brukerpassord via PHP.

Innleggav eskiil » tor 24.08.2006 11:36

Som tema'et tilsier ønsker jeg at brukerne skal kunne endre sitt passord via php, eller lignende web basert.
Dette for at det er ekstremt mange brukere som skal legges til på denne serveren, så jeg slipper og sitte og lage et passord til hver enkelt som ikke er så veldig lett og "gjette", noen som vet hvordan ?

På forhånd takk! :-)
medlem i 213 måneder
 

Innleggav ak » tor 24.08.2006 11:54

Skal du virkelig ha så mange systembrukere (som skal kunne kjøre shell osv.)? Isåfall bør du bruke LDAP, hvis ikke bør du se om du kan bruke virtuelle brukere for de applikasjonene de skal ha tilgang til. Mulig at en MySQL-backend til PAM også fungerer, men de fleste ville brukt LDAP.

Hvis du ikke vil dette, så må du nesten kjøre Apache som root, eller med rettigheter til å endre passordfilen, som resulterer i det samme. Det er galskap, men da kan du bruke standard PHP og kjøre passwd-programmet.

Administrator
Brukerens avatar
medlem i 236 måneder
 

Innleggav eskiil » tor 24.08.2006 12:02

Vel, ikke shell osv, men webmail osv, det passwd programmet hvor kan jeg finne det?
medlem i 213 måneder
 

Innleggav ak » tor 24.08.2006 13:29

Hvis de skal ha epost bør du definitivt bruke virtuelle brukere som ligger i en MySQL-database. Se på HowToForge (ikke sjekket om de har ISP-guiden for Fedora, men regner med det).

passwd-programmet ligger som regel i /usr/bin , du finner ut nøyaktig hvor ved å skrive "which passwd" i en terminal. Men, i Linux, som i alle andre operativsystemer jeg vet om, så kan bare root endre passordet til andre brukere enn seg selv.

Administrator
Brukerens avatar
medlem i 236 måneder
 

Innleggav Lemen » tor 24.08.2006 13:32

Webmail har vel ikke noe med brukere på systemet - bare de virtuelle brukerne i epostsystemet ditt.

Men uansett.. Det vil muligens funke om du lager et script(Perl, Python Bash(?)) som lar en vanlig bruker skifte passord på brukere - så kjørt dette scriptet fra en webside ved hjelp av PHP. Eller som ak nevner, så er nok ikke LDAP så dumt.
medlem i 234 måneder
 

Innleggav ak » tor 24.08.2006 13:38

Kom på at Horde (http://www.horde.org) har et password-manager prosjekt, så du bør ta en titt der. Mulig Courier-pakken eller Squirremail tilbyr det samme.

Jeg bruker MySQL selv og aner ikke helt hvordan det fungerer, det er mulig man kan få IMAP-serveren til å starte passwd-programmet. IMAP-serveren bytter automatisk til den brukeren du autentiserer deg som. Forutsetter da at IMAP-serveren kjører som root i utgangspunktet, men den er som regel litt mere egnet til å gjøre det enn Apache.
Sist endret av ak den tor 24.08.2006 13:38, endret 1 gang

Administrator
Brukerens avatar
medlem i 236 måneder
 

Innleggav lahgoon » tor 24.08.2006 13:38

man kan åpne et program med fput etc.. Faktisk, fant det ut for noen dager siden. Man kan åpne programmet passwd og dermet kommunisere med shadow.

kommandoen finner du mye om her (popen):
http://no.php.net/manual/en/function.popen.php

Hvis det var det du mente da :P

Brukerens avatar
medlem i 231 måneder
 

Innleggav braindead » tor 24.08.2006 16:29

Du bør ta ein kikk på Virtual Exim
Det er et veldig bra for å ha virutelle brukere med MySQL.. :-)

Brukerens avatar
medlem i 219 måneder
 

Innleggav mastrb0y » tor 24.08.2006 20:27

dette er jo fullt mulig, men jeg vil absolutt ikke anbefale det grunnet mitt paranoide syn på sikkerhet.

Kikk på PHP koden til Clarkconnect (lisensiert under gpl)
De har skrevet kode for dette,

Ser over at noen har skrevet at apache må kjøre med root rettigheter, dette trengs ikke:
Gi apache brukeren lov til å kjøre sudo passwd (og ikke noe annet) så hjelper det ihvertfall litt på sikkerheten.

så kobler du apache mot PAM authentisering og lager en web side hvor de først må logge inn med orginalt brukernavn og passord, du vet du at det er riktig bruker og kan bruke brukernavnet som en variabel når du skal sudo passwd $brukernavn

kjapt skrevet, mye feil, dårlig tid.. sorry ;)[/u][/b]
medlem i 231 måneder
 


Returner til Utvikling i Linux



Hvem er i Forumene

Registrerte brukere: Google [Bot]



cron