Hallo,
ich habe ein Programm, dass mit einem Client über das Netzwerk konfiguriert werden kann. Dazu soll Username und Passwort mitgesendet werden, so dass das Programm prüfen kann, ob
a) der User überhaupt zum Konfigurieren zugelassen ist (einfach), und
b) ob das mitgesendete Passwort zu dem User passt (im Windows nutze ich sspi dazu). Unter UNIX wäre das als Script etwa so möglich (auch wenn das häßlich ist):
#!/bin/sh
# $1 = Username
# $2 = Passwort
if [ $# -lt 2 ]
then
echo "$0 Username Password"
else
echo $2 | su $1 -c exit 2>1 >/dev/null
if [ $? -eq 0 ]
then
echo "OK"
else
echo "Falsch"
fi
fi
allerdings will ich das nicht als Script sondern im Programmcode (C) haben. Gibt es Systemaufrufe die Login-Informationen überprüfern? Es ist kein Problem wenn die Funktion bei falschem Passwort künstlich länger braucht (will ja keine Passworte raten). Habe mich mit PAM versucht, aber bin gescheitert, wäre auch schön wenn auch andere UNIXe mit den Funktionen zurecht kommen.
Falls jemand eine Idee hat, oder einen anderen Weg kennt wie man eine Anwendung diesbezüglich sichern kann, ohne eine eigene Benutzerverwaltung einzurichten, wäre ich dankbar für einen Tipp.
Danke und Gruß
Armin
ich habe ein Programm, dass mit einem Client über das Netzwerk konfiguriert werden kann. Dazu soll Username und Passwort mitgesendet werden, so dass das Programm prüfen kann, ob
a) der User überhaupt zum Konfigurieren zugelassen ist (einfach), und
b) ob das mitgesendete Passwort zu dem User passt (im Windows nutze ich sspi dazu). Unter UNIX wäre das als Script etwa so möglich (auch wenn das häßlich ist):
#!/bin/sh
# $1 = Username
# $2 = Passwort
if [ $# -lt 2 ]
then
echo "$0 Username Password"
else
echo $2 | su $1 -c exit 2>1 >/dev/null
if [ $? -eq 0 ]
then
echo "OK"
else
echo "Falsch"
fi
fi
allerdings will ich das nicht als Script sondern im Programmcode (C) haben. Gibt es Systemaufrufe die Login-Informationen überprüfern? Es ist kein Problem wenn die Funktion bei falschem Passwort künstlich länger braucht (will ja keine Passworte raten). Habe mich mit PAM versucht, aber bin gescheitert, wäre auch schön wenn auch andere UNIXe mit den Funktionen zurecht kommen.
Falls jemand eine Idee hat, oder einen anderen Weg kennt wie man eine Anwendung diesbezüglich sichern kann, ohne eine eigene Benutzerverwaltung einzurichten, wäre ich dankbar für einen Tipp.
Danke und Gruß
Armin