On Mon, 18 Nov 2002 at 08:37 (+0100), J|rgen Vollmer wrote: [...]
Joachim Kieferle
: Allerdings würde ich auch nach wie vor nicht gleich das Skript "losrennen" lassen, da es z.B. keinen Usercheck gibt (schon vorhanden),
Einfach folgendes einfügen (testet ob das Home-Verzeichnis bereits exisitiert) [ -d $USER_HOME_BASE/$U_LOGIN ] && error "Benutzer bereits angelegt"
Nicht gut. Die Nicht-Existenz eines HOME ist kein Gewähr dafür, dass der Benutzer nicht existiert: k500:~ # useradd fred k500:~ # grep ^fred: /etc/passwd fred:x:501:100::/home/fred:/bin/bash k500:~ # ll /home/fred ls: /home/fred: No such file or directory Besser ist es, die Einträge in der passwd zu prüfen: k500:~ # getent passwd fred fred:x:501:100::/home/fred:/bin/bash k500:~ # echo $? 0 k500:~ # getent passwd felix k500:~ # echo $? 2 Oder alternativ: k500:~ # grep ^fred: /etc/passwd fred:x:501:100::/home/fred:/bin/bash k500:~ # echo $? 0 k500:~ # grep ^felix: /etc/passwd k500:~ # echo $? 1
Es kann aber auch sein, daß useradd einen Fehler-code ausgibt, wenn es den Benutzer bereits gibt.
Ausprobieren: k500:~ # useradd jan useradd: user jan exists k500:~ # echo $? 9 Jan