Hallo, On 1/9/2006 8:27 PM, K. Elo wrote:
Hallo,
Oliver Wiemer, 9.1.2006 20:54:
Hallo Leute,
könnt Ihr mal auf mein Script schauen. Auf manchen Maschinen läuft es und auf meiner 10er Suse nicht. Ich habe vermutlich etwas nicht standartkonformes drin.
Beim Start springt er sofort zur Eingabe des Benutzers.
Meine Vorschläge:
#!/bin/bash $TMP="/tmp/smb.tmp"
TMP="/tmp/smb.tmp"
Nee, auch nicht. Diese Methoden sind böse, vor allem wenn ich darin nacheinander Benutzernamen und Passwörter aufbewahre. Wenn's denn ein shellscript sein soll dann zumindest bitte mit mktemp. man mktemp hilft. Obwohl ich den Verdacht habe dass das eigentliche Problem auch eleganter gelöst werden könnte... Da ich aber weder eine fertige Lösung hier habe noch grade die Zeit habe mir eine auszudenken muss ich das als Aufgabe stehen lassen :-) Arno
kdialog --backtitle Benutzer --title Details \ --radiolist "Bitte wählen Sie \ Hier können Sie Benutzer anlegen und ändern" 16 60 5 \ "neu" "User anlegen" off \ "ändern" "User ändern" off \ "löschen" "User löschen" off 2>TMP
...off 2> $TMP
ACT=$(cat TMP)
ACT=$(cat $TMP)
rm TMP
Hier auch.
if [ -z $ACT ] ; then echo Abgebrochen
[echo "Abgebrochen"]
exit fi
if [ ACT=neu ] ; then
if [ "$ACT" = "neu" ] ; then (Du willst doch testen ob die Varible ACT gleich "neu" ist?)
dialog --inputbox "Bitte Benutzernamen eingeben" 30 50 2> TMP
... 30 50 2> $TMP
USER=$(cat TMP)
USER=$(cat $TMP)
rm TMP
rm $TMP
if [ -z $USER ] ; then echo Abgebrochen
[echo "Abgebrochen"]
exit fi
dialog --inputbox "Bitte Passwort eingeben" 30 50 2> TMP
... 30 50 2> $TMP
PASSWD=$(cat TMP)
PASSWD=$(cat $TMP)
rm TMP
rm $TMP
if [ -z $PASSWD ] ; then echo Abgebrochen
[echo "Abgebrochen"]
exit fi
useradd $USER -p $PASSWD -s /bin/false -d /home/$USER mkdir /home/$USER chown $USER.users /home/$USER printf "$PASSWD\n$PASSWD\n" | smbpasswd -a -s $PASSWD fi
if [ ACT=ändern ] ; then
if [ "$ACT" = "ändern" ] ; then
dialog --inputbox "Bitte Passwort eingeben" 30 50 2> TMP
... 2> $TMP
PASSWD=$(cat TMP)
... cat $TMP
rm TMP
rm $TMP
if [ -z $PASSWD ] ; then echo Abgebrochen
[echo "Abgebrochen"]
exit fi
printf "$PASSWD\n$PASSWD\n" | smbpasswd -a -s $PASSWD fi
if [ ACT=löschen ] ; then
if [ "$ACT" = "löschen" ] ; then
dialog --inputbox "Bitte Username zum löschen eingeben" 30 50 2> TMP USER=$(cat TMP)
...2> $TMP USER=$(cat $TMP)
if [ -z $USER ] ; then echo Abgebrochen
[echo "Abgebrochen"]
exit fi
smbpasswd -x $USER userdel $USER echo "loesche User" $USER fi
Danke schon im voraus
Olli
Gruß Kimmo
-- IT-Service Lehmann al@its-lehmann.de Arno Lehmann http://www.its-lehmann.de