blob: c7adad28d11c23b7680d308b33df1edd1b2a3549 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
#!/bin/sh
#set -e
# initramfs-tools header
PREREQ=""
prereqs()
{
echo "${PREREQ}"
}
case "${1}" in
prereqs)
prereqs
exit 0
;;
esac
# live-initramfs header
if [ -n "${NOUSER}" ]
then
exit 0
fi
. /scripts/live-functions
log_begin_msg "Adding live session user"
# live-initramfs script
user_crypted="8Ab05sVQ4LLps" # as in $(echo "live" | mkpasswd -s)
# U6aMy0wojraho is just a blank password
chroot /root debconf-communicate -fnoninteractive live-initramfs > /dev/null << EOF
set passwd/make-user true
set passwd/root-password-crypted *
set passwd/user-password-crypted ${user_crypted}
set passwd/user-fullname ${USERFULLNAME}
set passwd/username ${USERNAME}
set passwd/user-uid 1000
EOF
chroot /root /usr/bin/env -i HOME="/root" \
TERM="${TERM}" PATH="/usr/sbin:/usr/bin:/sbin:/bin" \
/usr/lib/user-setup/user-setup-apply 2>&1 \
| grep -v "Shadow passwords are now on"
# Clear out debconf database again to avoid confusing ubiquity later.
chroot /root debconf-communicate -fnoninteractive live-initramfs > /dev/null << EOF
set passwd/make-user
set passwd/root-password-crypted
set passwd/user-password-crypted
set passwd/user-fullname
set passwd/username
set passwd/user-uid
EOF
if ! grep -qs "${USERNAME}" /root/etc/passwd
then
echo "The default user (${USERNAME}) is not present,"
first_user=$(grep '^[^:]*:[^:]*:[12]\?[0-9][0-9][0-9][0-9]:' /root/etc/passwd | head -1 | cut -f1 -d ':')
if [ -n "${first_user}" ];
then
echo "setting default user to: ${first_user}."
USERNAME="${first_user}"
really_export USERNAME
else
echo "no other valid users found, disabling autologin."
NOAUTOLOGIN="Yes"
NOXAUTOLOGIN="Yes"
USERNAME=""
really_export NOAUTOLOGIN
really_export NOXAUTOLOGIN
really_export USERNAME
log_end_msg
exit 0
fi
fi
if [ -z "${NOSUDO}" ]
then
if ! grep -q "${USERNAME}" /root/etc/sudoers
then
echo "${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> /root/etc/sudoers
chroot /root sudo -u "${USERNAME}" sh -c "echo 'SU_TO_ROOT_SU=sudo' >> /home/${USERNAME}/.su-to-rootrc"
if [ -x /root/usr/bin/gconftool-2 ]
then
chroot /root sudo -u "${USERNAME}" gconftool-2 -s -t bool /apps/gksu/sudo-mode true
chroot /root sudo -u "${USERNAME}" gconftool-2 -s -t bool /apps/gksu/display-no-pass-info false
fi
chroot /root sudo -u "${USERNAME}" sh -c "umask 0077 && mkdir -p /home/${USERNAME}/.kde/share/config && cat > /home/${USERNAME}/.kde/share/config/kdesurc" << EOF
[super-user-command]
super-user-command=sudo
EOF
if [ -f /root/usr/share/apps/konsole/sumc.desktop ]
then
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"
fi
if [ -f /root/usr/share/apps/konsole/su.desktop ]
then
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"
fi
fi
fi
if [ -L /root/home/${USERNAME}/Examples ]
then
chroot /root install -o ${USERNAME} -g ${USERNAME} -d /home/${USERNAME}/Desktop/
mv /root/home/${USERNAME}/Examples /root/home/${USERNAME}/Desktop/
fi
if [ -f /root/home/$USERNAME/examples.desktop ]; then
chroot /root install -o $USERNAME -g $USERNAME -d /home/$USERNAME/Desktop/
mv /root/home/$USERNAME/examples.desktop /root/home/$USERNAME/Desktop/
fi
if [ -e /root/usr/share/applications/live-installer-launcher.desktop ]
then
chroot /root install -D -o ${USERNAME} -g ${USERNAME} /usr/share/applications/live-installer-launcher.desktop /home/${USERNAME}/Desktop/live-installer-launcher.desktop
fi
log_end_msg
|