X-Git-Url: https://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=etc%2Fgrml%2Ffai%2Fconfig%2Fscripts%2FGRMLBASE%2F21-usersetup;h=321451162ca62fd7e3be9accd5b3094d4535a606;hp=ce42a3c02d4dbb64557d1dc1e2457d430ebeb811;hb=130429e20fb319f3ec6a457f3219b7e52216b542;hpb=ada9ee0154c453dc6f1236527e1a7ed82890ba4b diff --git a/etc/grml/fai/config/scripts/GRMLBASE/21-usersetup b/etc/grml/fai/config/scripts/GRMLBASE/21-usersetup index ce42a3c..3214511 100755 --- a/etc/grml/fai/config/scripts/GRMLBASE/21-usersetup +++ b/etc/grml/fai/config/scripts/GRMLBASE/21-usersetup @@ -1,22 +1,32 @@ #!/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 # 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] +# Latest change: Thu Nov 15 09:42:42 CET 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 @@ -26,11 +36,42 @@ 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 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 +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