Das Shellskript "anlegen" (siehe unten) liest aus der Datei "anlegen.txt" mehrere Datensätze ein. Das Ziel ist, unterschiedliche User im System und unter SAMBA anzulegen.
Es wird unterschieden zwischen:
- Maschinen-Accounts
- Benutzern der Gruppe "schueler"
- Benutzern der Gruppe "lehrer"
Die Ausgabe mit dem "echo"-Befehl funktioniert problemlos. Wenn ich das Skript starte, werden die Befehle korrekt auf dem Monitor angezeigt.
Die auskommentierten Zeilen entsprechen exakt den "echo"-Zeilen, nur ohne den "echo"-Befehl.
Mein Problem: Wenn ich das Doppelkreuz in den einzelnen Zeilen entferne, so
erhalte ich beim Starten des Skriptes eine Fehlermeldung. Die User werden
nicht angelegt.
Kann mir jemand helfen?
Vielen Dank für Eure Mühe!
Gruß,
Thilo
Datei "anlegen":
Code: Alles auswählen
#!/bin/bash
erstellen () {
if [ "$art" = "maschine" ]
then
grep ^$user\\$: /etc/passwd
if [ $? = 1 ]
then
echo "adduser --quiet --gecos ,,,, --no-create-home --shell /bin/false --disabled-login --force-badname $user$"
echo "smbpasswd -am $user$"
# adduser --quiet --gecos ,,,, --no-create-home --shell /bin/false --disabled-login --force-badname $user$
# smbpasswd -am $user$
fi
fi
if [ "$art" = "benutzer" ]
then
grep ^$user: /etc/passwd
if [ $? = 1 ]
then
if [ "$gruppe" = "lehrer" ]
then
echo "adduser --quiet --gecos ,,,, $user"
# adduser --quiet --gecos ,,,, $user
fi
if [ "$gruppe" = "schueler" ]
then
echo "adduser --quiet --gecos ,,,, --shell /bin/false --disabled-login $user"
# adduser --quiet --gecos ,,,, --shell /bin/false --disabled-login $user
fi
echo "addgroup --quiet $user $gruppe"
echo "smbpasswd -a $user"
# addgroup --quiet $user $gruppe
# smbpasswd -a $user
fi
fi
}
addgroup lehrer
addgroup schueler
exec < anlegen.txt
read zeile
while [ "$zeile" != "*** Ende ***,*** Ende ***,*** Ende ***" ]
do
echo
user=`echo $zeile | cut -d , -f 1`
art=`echo $zeile | cut -d , -f 2`
gruppe=`echo $zeile | cut -d , -f 3`
erstellen
read zeile
done
Datei "anlegen.txt":
Code: Alles auswählen
thilo,benutzer,lehrer
frank,benutzer,lehrer
oliver,benutzer,lehrer
katrin,benutzer,lehrer
rainer,benutzer,schueler
olaf,benutzer,schueler
dennis,benutzer,schueler
dirk,benutzer,schueler
client1,maschine,
client2,maschine,
client3,maschine,
client4,maschine,
*** Ende ***,*** Ende ***,*** Ende ***