Another update of usersetup
[grml-live.git] / etc / grml / fai / config / scripts / GRMLBASE / 21-usersetup
index 28a40d3..4f7ec49 100755 (executable)
@@ -1,10 +1,10 @@
 #!/bin/sh
-# Filename:      /etc/grml/fai/config/scripts/GRML/21-usersetup
+# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/21-usersetup
 # Purpose:       adjust user setup of the live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # License:       This file is licensed under the GPL v2 or any later version.
-# Latest change: Sun Sep 16 22:58:45 CEST 2007 [mika]
+# Latest change: Thu Oct 18 19:47:14 CEST 2007 [mika]
 ################################################################################
 
 set -u
@@ -14,11 +14,29 @@ USERNAME=''
 [ -r /etc/grml/grml-live.conf ] && . /etc/grml/grml-live.conf
 [ -n "$USERNAME" ] || USERNAME=grml
 
-$ROOTCMD addgroup --gid 1000 $USERNAME
-$ROOTCMD useradd -d /home/$USERNAME -m -s /bin/zsh -g 1000 $USERNAME
+if grep -q "$USERNAME:x:1000" $target/etc/group ; then
+   echo "group $USERNAME exists already, skipping"
+else
+  if grep -q 'gsmsms:x:1000' $target/etc/group ; then
+     echo 'Bug #353967 detected, fixing GUID = 1000 setup for you'
+     $ROOTCMD delgroup gsmsms || /bin/true
+     $ROOTCMD deluser gsmsms  || /bin/true
+     $ROOTCMD addgroup --system gsmsms || /bin/true
+     $ROOTCMD adduser --system --ingroup gsmsms \
+                      --no-create-home --home /var/spool/sms gsmsms || /bin/true
+     $ROOTCMD adduser gsmsms dialout || /bin/true
+  fi
+  $ROOTCMD addgroup --gid 1000 $USERNAME
+fi
 
-sed -i 's/^root::/root:*:/' $target/etc/shadow
-sed -i 's/^$USERNAME::/$USERNAME:*:/' $target/etc/shadow
+if grep -q "$USERNAME:x:1000" $target/etc/passwd ; then
+   echo "user $USERNAME exists already, skipping"
+else
+   $ROOTCMD useradd -d /home/$USERNAME -m -s /bin/zsh -g 1000 $USERNAME
+fi
+
+sed -i 's/^root::/root:*:/'            $target/etc/shadow
+sed -i "s/^$USERNAME:!:/$USERNAME:*:/" $target/etc/shadow
 
 $ROOTCMD chsh -s /bin/zsh root
 $ROOTCMD chsh -s /bin/zsh $USERNAME