#!/bin/bash # Name: newclient # Zweck: Neue FTP/Samba Client anlegen # Syntax: newclient homepfad benutzer # $0 $1 $2 # Exit Codes: 1 = Falsche Parameter Anzahl # 2 = Benutzer schon existiert # 3 = homepfad ist nicht Absolute # 4 = homeverzeichnis schon existiert #--------------------------------------------------------------------------- #--------------- Farbe definieren ---------------- # Farbe Codes fuer 'echo -e' ROT="\\033[31m" GRUEN="\\033[32m" GELB="\\033[33m" FETT="\\033[1m" NORMAL="\\033[m" #----------- Pfad von Samba Kennwort Datei smbpasswd="/etc/samba/smbpasswd" #----------- FTP Gruppe anlegen groupadd ftp &>/dev/null #----------- Parameter ersetzen homepfad=$1 benutzer=$2 #----------- Anzahl von Parameter testen. Soll 2 sein. if [ $# -ne 2 ] ; then echo -e "${ROT}FEHLER: Falsche Anzahl von Parameter." echo -e "Syntax: newclient homepfad benutzer.$NORMAL" exit 1 fi #---------- Benutzer Ueberpruefen ----------------- #if (grep "^$benutzer:" /etc/passwd &>/dev/null); then if (id $benutzer &>/dev/null); then echo -e "${ROT}FEHLER: Benutzer '$benutzer' existiert schon.$NORMAL" exit 2 fi # --------- homepfad als absolute Pfad Ueberpruefen -------------------- if ! (echo $homepfad | grep "^/" &>/dev/null) then echo -e "${ROT}FEHLER: homepfad Parameter ist nicht ein absolute Pfad.$NORMAL" exit 3 fi # --------- Heimatverzeichnis ueberpruefen -------------------- if test -e $homepfad/$benutzer ; then echo -e "${ROT}FEHLER: Heimatverzeichnis '$homepfad/$benutzer' is present in System.\nEs soll NICHT existieren.$NORMAL" exit 4 fi #--------- START von neue Benutzer Anlegung -------------- #--------- Heimalverzeichnis anlegen echo "Bitte das root Password eingeben" su -c "mkdir -p $homepfad/$benutzer ; useradd -s /bin/false -d $homepfad/$benutzer -g ftp $benutzer ; passwd $benutzer ; chown $benutzer: $homepfad/$benutzer" if [ $? -ne 0 ] ; then echo -e "${ROT}FEHLER: Falsche root Password.$NORMAL" else #su -c "mkdir -p $homepfad/$benutzer" # --------- Benutzer anlegen #su -c "useradd -s /bin/false -d $homepfad/$benutzer -g ftp $benutzer" # Schleife für SAMBA Benutzer while [ "$s1" != "ok" ] ; do echo -ne "${GRUEN}Soll der Benutzer as Samba Benutzer auch angelegt? (j/n) [n]$NORMAL" read antwort #echo $antwort case ${antwort:="n"} in j|J) echo -e "${GELB}Geben Sie bitte das 'root' passwort ein Mal." echo -e "Dann zwei Mal der Samba Passwort von Benutzer.$NORMAL" su -c "smbpasswd -a $benutzer && echo ja >/tmp/tm || echo no >/tmp/tm" if [ $? -ne 0 ] ; then echo -e "${ROT}FEHLER: Falsche root Password.$NORMAL" else if (cat /tmp/tm | grep ja &>/dev/null); then s1="ok" echo -e "${GRUEN}Samba Benutzer '$benutzer' ist ervolgreich angelegt.$NORMAL" else echo -e "${ROT}FEHLER: Falsches Passwort." echo -e "Bitter zwei Mal das selbe Passwort von Benutzer eingeben.$NORMAL" fi fi ;; n|N) s1="ok" ;; *) echo -e "${ROT}FEHLER: Bitte mit 'j' oder 'n' antworten$NORMAL" ;; esac done fi #-------------- Bericht Ausgabe --------------------- list=$(grep ":[1-9][0-9][0-9][0-9]:" /etc/passwd | cut -d: -f1) for user in $list ; do echo "--------------------------------------------------------------------------------------------" echo "INFO fuer $user: $(grep $user: /etc/passwd | cut -d: -f6)" id $user done