#!/bin/sh

PREREQ=""
DESCRIPTION="Modifying PolicyKit grants for '$USERNAME' user"

prereqs()
{
       echo "$PREREQ"
}

case $1 in
# get pre-requisites
prereqs)
       prereqs
       exit 0
       ;;
esac

. /scripts/casper-functions

# Check that polkit is installed.
if [ ! -x "/root/usr/libexec/polkitd" ]; then
	exit 0
fi
log_begin_msg "$DESCRIPTION"

# 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>
    <!-- don't ask password for user in live session -->
    <match user="$USERNAME">
        <return result="yes"/>
    </match>
    <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
