Expose (selected) config vars to fai scripts
[grml-live.git] / etc / grml / fai / config / scripts / GRMLBASE / 21-usersetup
1 #!/bin/bash
2 # Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/21-usersetup
3 # Purpose:       adjust user setup of the live-system
4 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
5 # Bug-Reports:   see http://grml.org/bugs/
6 # License:       This file is licensed under the GPL v2 or any later version.
7 ################################################################################
8
9 set -u
10 set -e
11 . "$GRML_LIVE_CONFIG"
12
13 if grep -q "$USERNAME:x:1000" $target/etc/group ; then
14    echo "group $USERNAME exists already, skipping"
15 else
16   if grep -q 'gsmsms:x:1000' $target/etc/group ; then
17      echo 'Bug #353967 detected, fixing GUID = 1000 setup for you'
18      $ROOTCMD delgroup gsmsms || /bin/true
19      $ROOTCMD deluser gsmsms  || /bin/true
20      $ROOTCMD addgroup --system gsmsms || /bin/true
21      $ROOTCMD adduser --system --ingroup gsmsms \
22                       --no-create-home --home /var/spool/sms gsmsms || /bin/true
23      $ROOTCMD adduser gsmsms dialout || /bin/true
24   fi
25   $ROOTCMD addgroup --gid 1000 $USERNAME
26 fi
27
28 if grep -q "$USERNAME:x:1000" $target/etc/passwd ; then
29    echo "user $USERNAME exists already, skipping"
30 else
31    $ROOTCMD useradd -d /home/$USERNAME -m -s /bin/zsh -g 1000 $USERNAME
32 fi
33
34 # make sure to add the user to all relevant groups:
35 add_user_to_group() {
36    [ -n "$1" ] || return 1
37    if grep -q $1 $target/etc/group ; then
38       grep "$1:x:.*$USERNAME" $target/etc/group || $ROOTCMD addgroup $USERNAME $1
39    fi
40 }
41
42 add_user_to_group audio
43 add_user_to_group camera
44 add_user_to_group cdrom
45 add_user_to_group dialout
46 add_user_to_group dip
47 add_user_to_group fax
48 add_user_to_group floppy
49 add_user_to_group fuse
50 add_user_to_group games
51 add_user_to_group nvram
52 add_user_to_group netdev
53 add_user_to_group plugdev
54 add_user_to_group scanner
55 add_user_to_group sudo
56 add_user_to_group tape
57 add_user_to_group tty
58 add_user_to_group usb
59 add_user_to_group users
60 add_user_to_group video
61 add_user_to_group vlock
62 add_user_to_group voice
63
64 sed -i 's/^root::/root:*:/'            $target/etc/shadow
65 sed -i "s/^$USERNAME:!:/$USERNAME:*:/" $target/etc/shadow
66
67 if [ -r $target/bin/zsh ] ; then
68    $ROOTCMD chsh -s /bin/zsh root
69    $ROOTCMD chsh -s /bin/zsh $USERNAME
70 fi
71
72 ## END OF FILE #################################################################
73 # vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2