21-usersetup: check for existing /bin/zsh inside the chroot
[grml-live.git] / etc / grml / fai / config / scripts / GRMLBASE / 21-usersetup
index 2778642..a83224f 100755 (executable)
@@ -1,31 +1,18 @@
-#!/bin/sh
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/21-usersetup
+#!/bin/bash
+# Filename:      ${GRML_FAI_CONFIG}/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: Fri Oct 26 01:22:30 CEST 2007 [mika]
 ################################################################################
 
 set -u
 set -e
-
-USERNAME=''
-[ -r /etc/grml/grml-live.conf ] && . /etc/grml/grml-live.conf
-[ -n "$USERNAME" ] || USERNAME=grml
+. "$GRML_LIVE_CONFIG"
 
 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
 
@@ -35,13 +22,43 @@ else
    $ROOTCMD useradd -d /home/$USERNAME -m -s /bin/zsh -g 1000 $USERNAME
 fi
 
+# make sure to add the user to all relevant groups:
+add_user_to_group() {
+   [ -n "$1" ] || return 1
+   if grep -q $1 $target/etc/group ; then
+      grep "$1:x:.*$USERNAME" $target/etc/group || $ROOTCMD addgroup $USERNAME $1
+   fi
+}
+
+add_user_to_group audio
+add_user_to_group camera
+add_user_to_group cdrom
+add_user_to_group dialout
+add_user_to_group dip
+add_user_to_group fax
+add_user_to_group floppy
+add_user_to_group fuse
+add_user_to_group games
+add_user_to_group nvram
+add_user_to_group netdev
+add_user_to_group plugdev
+add_user_to_group scanner
+add_user_to_group sudo
+add_user_to_group tape
+add_user_to_group tty
+add_user_to_group usb
+add_user_to_group users
+add_user_to_group video
+add_user_to_group vlock
+add_user_to_group voice
+
 sed -i 's/^root::/root:*:/'            $target/etc/shadow
 sed -i "s/^$USERNAME:!:/$USERNAME:*:/" $target/etc/shadow
 
-if [ -r $target/bin/zsh ] ; then
+if $ROOTCMD [ -r /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
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2