Adding live-initramfs 1.87.3-1.
[live-boot-grml.git] / scripts / live-bottom / 10adduser
1 #!/bin/sh
2
3 PREREQ=""
4 DESCRIPTION="Adding live session user..."
5
6 . /scripts/live-functions
7
8 prereqs()
9 {
10        echo "$PREREQ"
11 }
12
13 case $1 in
14 # get pre-requisites
15 prereqs)
16        prereqs
17        exit 0
18        ;;
19 esac
20
21 log_begin_msg "$DESCRIPTION"
22
23 if [ "${BUILD_SYSTEM}" == "Debian" ]; then
24     user_crypted="8Ab05sVQ4LLps" # as in `echo "live" | mkpasswd -s`
25 else
26     user_crypted="U6aMy0wojraho" # "ubuntu"
27 fi
28
29 # U6aMy0wojraho is just a blank password
30 chroot /root debconf-communicate -fnoninteractive live-initramfs > /dev/null <<EOF
31 set passwd/root-password-crypted *
32 set passwd/user-password-crypted ${user_crypted}
33 set passwd/user-fullname $USERFULLNAME
34 set passwd/username $USERNAME
35 set passwd/user-uid 999
36 EOF
37
38 if [ "${BUILD_SYSTEM}" == "Debian" ]; then
39     chroot /root /usr/bin/env -i HOME="/root" \
40         TERM="${TERM}" PATH="/usr/sbin:/usr/bin:/sbin:/bin" \
41         /usr/lib/user-setup/user-setup-apply > /dev/null
42 else
43     chroot /root /usr/lib/user-setup/user-setup-apply > /dev/null
44 fi
45
46 # Clear out debconf database again to avoid confusing ubiquity later.
47 chroot /root debconf-communicate -fnoninteractive live-initramfs > /dev/null <<EOF
48 set passwd/root-password-crypted
49 set passwd/user-password-crypted
50 set passwd/user-fullname
51 set passwd/username
52 set passwd/user-uid
53 EOF
54
55 if [ -f /root/etc/sudoers ]; then
56     if [ "${BUILD_SYSTEM}" == "Ubuntu" ]; then
57         grep -q '^%admin' /root/etc/sudoers && sed -i -e '/^%admin/s/ALL$/NOPASSWD: ALL/' /root/etc/sudoers || echo '%admin  ALL=(ALL) NOPASSWD: ALL' >> /root/etc/sudoers
58
59         # XXX - awful hack to stop xscreensaver locking the screen (#7150)
60         echo 'RUNNING_UNDER_GDM="yes"' >> /root/etc/environment
61
62         for file in /usr/share/applications/ubiquity-gtkui.desktop /usr/share/applications/kde/ubiquity-kdeui.desktop; do
63             if [ -f "/root/$file" ]; then
64                 chroot /root install -D -o $USERNAME -g $USERNAME $file /home/$USERNAME/Desktop/$(basename "$file")
65                 break
66             fi
67         done
68     elif [ "${BUILD_SYSTEM}" = "Debian" ]; then
69         echo "${USERNAME}  ALL=(ALL) NOPASSWD: ALL" >> /root/etc/sudoers
70
71         chroot /root sudo -u "${USERNAME}" sh -c "echo 'SU_TO_ROOT_SU=sudo' >> /home/${USERNAME}/.su-to-rootrc"
72
73         chroot /root sudo -u "${USERNAME}" gconftool-2 -s -t bool /apps/gksu/sudo-mode true
74         chroot /root sudo -u "${USERNAME}" gconftool-2 -s -t bool /apps/gksu/display-no-pass-info false
75
76 chroot /root sudo -u "${USERNAME}" sh -c "umask 0077 && mkdir -p /home/${USERNAME}/.kde/share/config && cat > /home/${USERNAME}/.kde/share/config/kdesurc" << EOF
77 [super-user-command]
78 super-user-command=sudo
79 EOF
80
81         if [ -f /root/usr/share/apps/konsole/sumc.desktop ]
82         then
83                 chroot /root sudo -u "${USERNAME}" sh -c "umask 0077 && mkdir -p /home/${USERNAME}/.kde/share/apps/konsole && sed -e's/Exec=su.*$/Exec=sudo mc -c/' /usr/share/apps/konsole/sumc.desktop > /home/${USERNAME}/.kde/share/apps/konsole/sumc.desktop"
84         fi
85
86         if [ -f /root/usr/share/apps/konsole/su.desktop ]
87         then
88                 chroot /root sudo -u "${USERNAME}" sh -c "umask 0077 && mkdir -p /home/${USERNAME}/.kde/share/apps/konsole && sed -e's/Exec=su.*$/Exec=sudo -i/' /usr/share/apps/konsole/su.desktop > /home/${USERNAME}/.kde/share/apps/konsole/su.desktop"
89         fi
90     fi
91 fi
92
93 if [ -L /root/home/$USERNAME/Examples ]; then
94     chroot /root install -o $USERNAME -g $USERNAME -d /home/$USERNAME/Desktop/
95     mv /root/home/$USERNAME/Examples /root/home/$USERNAME/Desktop/
96 fi
97
98 log_end_msg