47d152535ff233b410966621b217004c24b28cad
[grml-live.git] / etc / grml / fai / config / scripts / GRMLBASE / 21-usersetup
1 #!/bin/sh
2 # Filename:      /etc/grml/fai/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 # Latest change: Thu May 08 15:30:20 CEST 2008 [mika]
8 ################################################################################
9
10 set -u
11 set -e
12
13 USERNAME=''
14 [ -r /etc/grml/grml-live.conf ]  && . /etc/grml/grml-live.conf
15 [ -r /etc/grml/grml-live.local ] && . /etc/grml/grml-live.local
16 [ -n "$USERNAME" ] || USERNAME=grml
17
18 if grep -q "$USERNAME:x:1000" $target/etc/group ; then
19    echo "group $USERNAME exists already, skipping"
20 else
21   if grep -q 'gsmsms:x:1000' $target/etc/group ; then
22      echo 'Bug #353967 detected, fixing GUID = 1000 setup for you'
23      $ROOTCMD delgroup gsmsms || /bin/true
24      $ROOTCMD deluser gsmsms  || /bin/true
25      $ROOTCMD addgroup --system gsmsms || /bin/true
26      $ROOTCMD adduser --system --ingroup gsmsms \
27                       --no-create-home --home /var/spool/sms gsmsms || /bin/true
28      $ROOTCMD adduser gsmsms dialout || /bin/true
29   fi
30   $ROOTCMD addgroup --gid 1000 $USERNAME
31 fi
32
33 if grep -q "$USERNAME:x:1000" $target/etc/passwd ; then
34    echo "user $USERNAME exists already, skipping"
35 else
36    $ROOTCMD useradd -d /home/$USERNAME -m -s /bin/zsh -g 1000 $USERNAME
37 fi
38
39 # make sure to add the user to all relevant groups:
40 add_user_to_group() {
41    [ -n "$1" ] || return 1
42    if grep -q $1 $target/etc/group ; then
43       grep "$1:x:.*$USERNAME" $target/etc/group || $ROOTCMD addgroup $USERNAME $1
44    fi
45 }
46
47 add_user_to_group audio
48 add_user_to_group camera
49 add_user_to_group cdrom
50 add_user_to_group dialout
51 add_user_to_group dip
52 add_user_to_group fax
53 add_user_to_group floppy
54 add_user_to_group fuse
55 add_user_to_group games
56 add_user_to_group nvram
57 add_user_to_group plugdev
58 add_user_to_group scanner
59 add_user_to_group sudo
60 add_user_to_group tape
61 add_user_to_group tty
62 add_user_to_group usb
63 add_user_to_group users
64 add_user_to_group video
65 add_user_to_group vlock
66 add_user_to_group voice
67
68 sed -i 's/^root::/root:*:/'            $target/etc/shadow
69 sed -i "s/^$USERNAME:!:/$USERNAME:*:/" $target/etc/shadow
70
71 # make sure users can log in on consoles 4, 5 and 6 if username != grml:
72 if [ "$USERNAME" != "grml" ] ; then
73    sed -i "s/-u grml -g grml --autologin grml/-u ${USERNAME} -g ${USERNAME} --autologin ${USERNAME}/" \
74    $target/etc/inittab.grml
75 fi
76
77 if [ -r $target/bin/zsh ] ; then
78    $ROOTCMD chsh -s /bin/zsh root
79    $ROOTCMD chsh -s /bin/zsh $USERNAME
80 fi
81
82 ## END OF FILE #################################################################
83 # vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3