-#!/bin/sh
-# Filename: /etc/grml/fai/config/scripts/GRML/21-usersetup
+#!/bin/bash
+# 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: Wed Sep 19 20:27:03 CEST 2007 [mika]
################################################################################
set -u
set -e
USERNAME=''
-[ -r /etc/grml/grml-live.conf ] && . /etc/grml/grml-live.conf
+[ -r /etc/grml/grml-live.conf ] && . /etc/grml/grml-live.conf
+[ -r /etc/grml/grml-live.local ] && . /etc/grml/grml-live.local
[ -n "$USERNAME" ] || USERNAME=grml
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
$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
-$ROOTCMD chsh -s /bin/zsh root
-$ROOTCMD chsh -s /bin/zsh $USERNAME
+# make sure users can log in on consoles 4, 5 and 6 if username != grml:
+if [ "$USERNAME" != "grml" ] ; then
+ sed -i "s/-u grml -g grml --autologin grml/-u ${USERNAME} -g ${USERNAME} --autologin ${USERNAME}/" \
+ $target/etc/inittab.grml
+fi
+
+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