summaryrefslogtreecommitdiff
path: root/scripts/live-bottom/44pk_allow
blob: a2118804881fe717618c2dfbc82e1b5798789727 (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
#!/bin/sh

#set -e

# initramfs-tools header

PREREQ=""

prereqs()
{
	echo "${PREREQ}"
}

case "${1}" in
	prereqs)
		prereqs
		exit 0
		;;
esac

# live-initramfs header

. /scripts/live-functions

log_begin_msg "Grant administrative PolicyKit pivilieges to default user"

# live-initramfs script

# configure PolicyKit in live session
mkdir -p /root/etc/PolicyKit
cat << EOF > /root/etc/PolicyKit/PolicyKit.conf
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->

<!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN"
"http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd">

<!-- See the manual page PolicyKit.conf(5) for file format -->

<config version="0.1">
	<match user="root">
		<return result="yes"/>
	</match>
EOF

if [ -n "${USERNAME}" ]
then
	cat << EOF >> /root/etc/PolicyKit/PolicyKit.conf
	<!-- don't ask password for user in live session -->
	<match user="$USERNAME">
		<return result="yes"/>
	</match>
EOF
fi

cat << EOF >> /root/etc/PolicyKit/PolicyKit.conf
	<define_admin_auth group="admin"/>
</config>
EOF

mkdir -p /root/var/lib/polkit-1/localauthority/10-vendor.d
cat << EOF > /root/var/lib/polkit-1/localauthority/10-vendor.d/10-live-cd.pkla
# Policy to allow the livecd user to bypass policykit
[Live CD user permissions]
Identity=unix-user:$USERNAME
Action=*
ResultAny=no
ResultInactive=no
ResultActive=yes
EOF

log_end_msg