Das ist ein wunderschönes Beispiel für die Neuerfindung des quadratischen Rades: Nicht nur erledigt z. B. usermod unter Linux oder pw unter FreeBSD alles, was dieses Skript macht, andererseits zerschießt man sich mit dem regulären Ausdruck ziemlich sicher seine Datenbank, wenn ein Benutzername Teil des Namens anderer Benutzer oder Gruppen oder gar eines Passwort-Hashes ist. Wenn schon, sollte der Ausdruck höchstens am Anfang der Zeile matchen und u. a. das Heimverzeichnis separat setzen.
Und das chown ist unnötig, da der Benutzer-/Gruppenname nur ein Alias für eine Benutzer-/Gruppen-ID ist, die sich dadurch weder in der Datenbank noch bei Dateien im Dateisystem ändert. ![]()
EDIT: Siehe auch hier für mehr Hinweise (Mailspools, Crontabs, …):
http://unix.stackexchange.com/questions/629/…ix-user-account