#! /bin/sh

# createuser
#
# Hinzufuegen eines neuen Benutzers
#
# js 13.10.95

FirstName="$1"
LastName="$2"
LoginName="$3"
MailName="$4"
InitialGroup="$5"
#SupplemantalGroups=""
RoomNo="$6"
# und WorkPhone
HomePhone="$7"
Passwd="$8"
Fach="$9"

#Info="$FirstName $LastName"
Info="$FirstName $LastName,$RoomNo,$HomePhone,"

# Daten eintragen

#  mkpwent "$LoginName" "$Passwd" - "$InitialGroup" "$Info" "/home/$InitialGroup/$LoginName" "/bin/bash"
  cp -Rd /etc/skel /home/$InitialGroup/$LoginName
  useradd -c "$Info" -d "/home/$InitialGroup/$LoginName" -g "$InitialGroup" -s "/bin/bash" "$LoginName" 
  chown -R $LoginName.$InitialGroup /home/$InitialGroup/$LoginName
  echo "/home/$InitialGroup/$LoginName angelegt"
  chpasswd <<txt
$LoginName:$Passwd
txt
   passwd -x 365 $LoginName

#  COMMENT="$FirstName $LastName,$RoomNo,$HomePhone,"
#  usermod -c "$COMMENT" $LoginName

  echo "Benutzerdaten eingetragen"
  echo

# Rechte fuer Homedirectory setzen
# Verzeichnis muss fuer alle ausfuehrbar sein, damit private WWW-Homepage
# ueber den URL http://fsai.trier.fh-rpl.de/~<login>/ zugreifbar ist
  chmod u=rwx,go=x /home/$InitialGroup/$LoginName
  echo "Rechte fuer Homedirectory gesetzt"
  echo

# Quota setzen
  edquota -p sysmailer $LoginName
  echo "Quota gesetzt (von #sysmailer')."
  echo

# Login-Datum setzen
  date +%s >/var/spool/logins/$LoginName
  chown -R $LoginName.$InitialGroup /var/spool/logins/$LoginName

# Mailbox anlegen
  touch /var/spool/mail/$LoginName
  chown $LoginName.mail /var/spool/mail/$LoginName
  chmod ug=rw,o-rwx /var/spool/mail/$LoginName
  echo "Mailbox angelegt"
  echo

# Mail-Alias erzeugen (fuer sendmail bzw. Mail an Mailalias des Benutzers)
  echo $MailName: $LoginName >> /etc/aliases
  # smail: mkaliases
  # sendmail: newaliases
  /usr/bin/newaliases &
  echo "Mail-Alias erzeugt (/etc/aliases ergaenzt)"
  echo
  
# Mailing-List all erweitern (fuer smail bzw. Mails an 'all')
  # funktioniert mit sendmail nicht!
  # echo $MailName >> /usr/lib/smail/lists/all
  # echo "Mailing List all ergaenzt (/usr/lib/smail/lists/all)."
  # stattdessen:
  echo $MailName >> /usr/local/lib/lists/all
  echo "Mailing List all ergaenzt (/usr/local/lib/lists/all)."
  echo

  if [ "$InitialGroup" = "fsai" ]; then
    echo "$LoginName" >>/usr/local/lib/lists/aiall
    echo "In AI-ALL Mailing List eingetragen (/usr/local/lib/lists/all)."
  fi
  
# fuer 'userlist' und 'mkmailnames' (bzw. naechsten Absatz)
#  echo "$LoginName;$LastName $FirstName;$Fach;$MailName" >> /usr/local/etc/userdata
#  echo "Datei /usr/local/etc/userdata upgedatet (fuer userlist)"
#  echo

# .signature fuer elm anlegen
  if [ "$InitialGroup" = "fsai" ]; then
    (echo "$FirstName $LastName"
     echo "Fachschaft Angewandte Informatik an der FH Trier"
     echo "email: $MailName@fsai.Trier.FH-Rpl.de"
     echo "*** Public Access Linux Box ***") > /home/$InitialGroup/$LoginName/.signature
  elif [ "$InitialGroup" = "fsrai" ]; then
    (echo "$FirstName $LastName"
     echo "Fachschaftsrat Angewandte Informatik an der FH Trier"
     echo "email: $MailName@fsai.Trier.FH-Rpl.de"
     echo "*** Public Access Linux Box ***") > /home/$InitialGroup/$LoginName/.signature
  elif [ "$InitialGroup" = "fset" ]; then
    (echo "$FirstName $LastName"
     echo "Fachschaft Elektrotechnik an der FH Trier"
     echo "email: $MailName@fsai.Trier.FH-Rpl.de"
     echo "*** Public Access Linux Box ***") > /home/$InitialGroup/$LoginName/.signature
  elif [ "$InitialGroup" = "fsret" ]; then
    (echo "$FirstName $LastName"
     echo "Fachschaftsrat Elektrotechnik an der FH Trier"
     echo "email: $MailName@fsai.Trier.FH-Rpl.de"
     echo "*** Public Access Linux Box ***") > /home/$InitialGroup/$LoginName/.signature
  else
    (echo "$FirstName $LastName"
     echo "Benutzer der Public Access Linux Box der"
     echo "Fachschaft Angewandte Informatik an der FH Trier"
     echo "email: $MailName@fsai.Trier.FH-Rpl.de") > /home/$InitialGroup/$LoginName/.signature
  fi
  echo ".signature angelegt"
  echo


# Diverse Info-Mails versenden

  mailnewuser "$FirstName" "$LastName" "$MailName"


# Info an Systemverwaltergruppe abschicken

  (echo "Account $LoginName fuer $FirstName $LastName eingerichtet."
   echo
   echo "Mail-Alias: $MailName") | elm -s "Account $LoginName eingerichtet" newusers
   echo "newuser -Info versendet"
