#!/bin/sh
-PREREQ=""
-DESCRIPTION="Grant administrative PolicyKit pivilieges to default user..."
+#set -e
+
+# initramfs-tools header
-. /scripts/casper-functions
+PREREQ=""
prereqs()
{
- echo "$PREREQ"
+ echo "${PREREQ}"
}
-case $1 in
-# get pre-requisites
-prereqs)
- prereqs
- exit 0
- ;;
+case "${1}" in
+ prereqs)
+ prereqs
+ exit 0
+ ;;
esac
-log_begin_msg "$DESCRIPTION"
+# 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"
<!-- See the manual page PolicyKit.conf(5) for file format -->
<config version="0.1">
- <match user="root">
- <return result="yes"/>
- </match>
- <!-- don't ask password for user in live session -->
- <match user="$USERNAME">
- <return result="yes"/>
- </match>
- <define_admin_auth group="admin"/>
+ <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