#!/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: Mon Sep 17 15:12:21 CEST 2007 [mika]
+# Latest change: Fri Oct 26 01:22:30 CEST 2007 [mika]
################################################################################
set -u
[ -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
-$ROOTCMD chsh -s /bin/zsh root
-$ROOTCMD chsh -s /bin/zsh $USERNAME
+sed -i 's/^root::/root:*:/' $target/etc/shadow
+sed -i "s/^$USERNAME:!:/$USERNAME:*:/" $target/etc/shadow
+
+if [ -r $target/bin/zsh ] ; then
+ $ROOTCMD chsh -s /bin/zsh root
+ $ROOTCMD chsh -s /bin/zsh $USERNAME
+fi
## END OF FILE #################################################################
# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3