[php]Inloggen als locale gebruiker zonder LDAP

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • tomvleeuwen
  • Registratie: Mei 2002
  • Laatst online: 26-08-2024
Ik wil met php gebruikers kunnen valideren aan de hand van de locale gebruikers in /etc/passwd.
Ik heb nu een scriptje dat "su" uitvoert en dan een bestand opstaat met een random code, welke dan vervolgens door php gevalideert wordt.
Dit is een beetje omslachtig naar mijn idee.
Een programmatje dat als std-in de username en password accepteert en als std-out een true of false geeft zou in principe genoeg zijn, maar dat kan ik niet vinden.
Heeft iemand een idee hoe ik dit kan oplossen?

Online LED calculator


Acties:
  • 0 Henk 'm!

  • rrrandy
  • Registratie: Juli 2005
  • Laatst online: 16-04 09:23
Dan zul je op basis van een ingevoerd wachtwoord volgens dezelfde manier als jouw OS die hanteert een hash moeten berekenen en die tegen de entry uit de passwd file aan houden.

Hier kun je verschillende algoritmen voor gebruiken, standaard wordt in Linux een MD5-algoritme gebruikt. Hier zul je eens op moeten zoeken, veel informatie over te vinden. Let wel op dat je mogelijk geen invloed hebt op welke encryptiemethode er op de server wordt gebruikt.

Acties:
  • 0 Henk 'm!

  • tomvleeuwen
  • Registratie: Mei 2002
  • Laatst online: 26-08-2024
Mijn systeem gebruikt shadow passwords (debian stable) en ik wil mijn webserver natuurlijk geen root access geven.

[ Voor 7% gewijzigd door tomvleeuwen op 26-12-2006 16:48 ]

Online LED calculator


Acties:
  • 0 Henk 'm!

  • Shadowman
  • Registratie: Januari 2002
  • Niet online
Waarom niet gewoon su uitvoeren en dan de return-value controleren? (hier 1 als het wachtwoord fout is en 0 als wachtwoord/username goed is). Het script heb je, dus zoveel extra werkt lijkt me dat niet. (En eventueel kun je met -c een apart commando aangeven, zoals 'echo true', welke uitgevoerd wordt als het inloggen lukt).

Acties:
  • 0 Henk 'm!

Anoniem: 165232

Ehm,. voor wat voor soort webapplicatie wil je dit gebruiken?
Het lijkt me namlijk niet heel erg veilig als iemand vanuit een php script een SU commando kan uitvoeren, als dat kan kan je mocht er 1 lek gevonden worden ook andere commando's uitvoeren.

Acties:
  • 0 Henk 'm!

  • tomvleeuwen
  • Registratie: Mei 2002
  • Laatst online: 26-08-2024
Ik wil eigenlijk van het huidige script af omdat het nogal traag is.
Het script dat ik ervoor gebruik is:
code:
1
2
3
4
5
6
7
8
9
10
#!/bin/sh
# \
exec expect -f "$0" ${1+"$@"}
set password [lindex $argv 1]
spawn su [lindex $argv 0]
sleep 1
expect "assword:"
send "$password\r"
send "eenofandercommando"
expect eof


Als ik de sleep(1) weghaal dan gaat hij meteen door naar send $password en logt hij dus niet correct in. Ik kan het uit te voeren commando idd met -c meegeven aan su, maar dat verandert weinig aan de snelheid van mijn script.

Online LED calculator

Pagina: 1