Hallo @ all.
Wir schreiben zZ in PHP, mysql an einem Teil unserer Schulwebseite und wollen einen bereich, in dem nur Schüler, die sich mit korrekten Netzwerkusername/Netzwerkpasswort eingelogged haben. das ganz läuft auf artkur - c't Komm. Server für Schulen. Niemand von uns hat AHnung von Bash bzw Linux. Wir haben dieses Bashscript rausgekramt, welches das NW Passwort eines User ändert:
	
	
	
		
es wäre wirklich eine rieseig Hilfe, wenn einer von Euch Linuxpros dieses Script so umschreiben könnte, dass es bei korrekten oldpass / username einfach nur true zurück gibt und bei falschem halt false.
VIelen Vielen, Seeeeeeehr Vielen Dank!!!!!!!
Natürlich ist es auch eine Hilfe wenn jemand sagen könnte falls es mit einem einzigen linux befehl möglich ist (hab aber beim googln nix gefunden) username / passwort zu überprüfen!
MfG
			
			Wir schreiben zZ in PHP, mysql an einem Teil unserer Schulwebseite und wollen einen bereich, in dem nur Schüler, die sich mit korrekten Netzwerkusername/Netzwerkpasswort eingelogged haben. das ganz läuft auf artkur - c't Komm. Server für Schulen. Niemand von uns hat AHnung von Bash bzw Linux. Wir haben dieses Bashscript rausgekramt, welches das NW Passwort eines User ändert:
		Code:
	
	#!/bin/bash
#
# change.cgi
#
# Copyright (C) 1997 Andreas Furbach <zene@afu.ping.de>
# Anpassungen an V3.0 von Reiner Klaproth <klaproth@online.de>
# Neues Lock-Schema Klaus Werner < kwerner@ash.ks.he.schule.de>
passchange ()
{
 local SU_ID=SuSuSuSu
 local OK_ID=OkOkOkOk
 local LCK_ID=LCKLCK
 test -z "${FORM_newpass}" && return 2
 local RESULT="$(echo "${FORM_oldpass}" | /bin/su -s /bin/bash -l -c \
 "(echo "${SU_ID}"; \
      { echo "${FORM_oldpass}" | \
        sudo /usr/sbin/passchange ${FORM_newpass} > /dev/null ; \
      erg="\$\?" ; }; \
      if   [ "\$erg" -eq "0" ]; then echo "${OK_ID}" ; \
      elif [ "\$erg" -eq "3" ]; then echo "${LCK_ID}" ; \
      fi ) " \
 ${FORM_uid} )"
 test -n "$(echo "${RESULT}" | grep "${LCK_ID}")" && return 3
 test -n "$(echo "${RESULT}" | grep "${OK_ID}")" && return 0
 test -n "$(echo "${RESULT}" | grep "${SU_ID}")" && return 1
 return 2
}
read QUERY_STRING
export QUERY_STRING
eval `cgiparse -form` 
cgiutils -ct text/html -expires now
cat << xxxxxEOFxxxxx
<html>
<head>
<title>Passwort Abfrage</title>
</head>
<body background="whttxtr2.jpg">
<h1 align=center>Passwort ändern</h1>
<hr>
<h3 align=center><font color="#FF0000">Schließen Sie den Browser, bevor
Sie den Arbeitsplatz verlassen!</font></h3>
<hr>
<CENTER><H3>
xxxxxEOFxxxxx
if [ "${FORM_newpass}" = "${FORM_newpass1}" ]; then
	FEHLER=0
	# Stufe 1: Gibts den User?
	x=`grep "^${FORM_uid}:" /etc/passwd`
	if [ -z $x ]; then
		echo "<P><FONT COLOR=\"#800000\">Zugriff abgelehnt!</FONT><BR>"
		FEHLER=1
	    elif [ `echo $x | cut -d: -f3` -lt 1000 ]; then
		echo "<P><FONT COLOR=\"#800000\">Zugriff abgelehnt!</FONT><BR>"
		FEHLER=1
	fi
	# Zweite Stufe: Ist das Passwort brauchbar?
	lpass=${#FORM_newpass}
	if [ $lpass -lt 5 ]; then
	         echo "<P><FONT COLOR=\"#800000\">Das neue Passwort war zu kurz!</FONT><BR>"
		 FEHLER=1
	fi
	echo "${FORM_newpass}" | grep -q -v -E "[^A-Za-z0-9_-]"
	if [ $? != 0 ] ; then
		echo "<P><FONT COLOR=\"#800000\">Das neue Passwort enthielt ungültige Zeichen! </FONT><BR>"
		FEHLER=1
	fi
	# letzter Test: funzt das alte Passwort?
	echo "${FORM_oldpass}" | grep -q -v -E "[^A-Za-z0-9_-]"
	if [ $? != 0 -o ${#FORM_oldpass} -lt 3 ] ; then
	         echo "<P><FONT COLOR=\"#A00000\">Das alte Passwort war ungültig!</FONT><BR>"
		 FEHLER=1
	fi
	if [ $FEHLER = 0 ]; then
	       passchange  
	       RESULT="${?}"
	       if [ "${RESULT}" = "0" ]; then
	               echo "<P><FONT COLOR=\"#008000\">Passwort geändert!</FONT>"
        	 elif [ "${RESULT}" = "3" ]; then 
        	       echo "<P><FONT COLOR=\"#800000\">Interface-Anforderung in Bearbeitung</FONT><BR>"
		       FEHLER=1
	         else
	               echo "<P><FONT COLOR=\"#800000\">Zugriff abgelehnt!</FONT><BR>"
	               if test -s /tmp/passchange ; then
	                  cat /tmp/passchange
			  rm -f /tmp/passchange
	               fi 
	               FEHLER=1
	         fi
	     fi
	else
	     echo "<p>Sie haben sich bei der Eingabe des neuen Passworts vertippt!</p>"
	     FEHLER=1
fi
if [ $FEHLER = 1 ]; then
     echo "<p>Das Passwort wurde nicht geändert!</p>"
     echo "<p><a href=\"pass.htm\"><img src=\"redarrow.gif\" align=bottom border=0 width=25 height=13>Versuchen Sie es noch einmal! </a></p>"
fi
cat << xxxxxEOFxxxxx
</H3></CENTER>
<hr>
© Klaus Werner, Reiner Klaproth, 01.10.1999
</body>
</html>
xxxxxEOFxxxxx
	VIelen Vielen, Seeeeeeehr Vielen Dank!!!!!!!
Natürlich ist es auch eine Hilfe wenn jemand sagen könnte falls es mit einem einzigen linux befehl möglich ist (hab aber beim googln nix gefunden) username / passwort zu überprüfen!
MfG