61 lines
1.4 KiB
Bash
Executable File
61 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
PREREQ=""
|
|
DESCRIPTION="Modifying PolicyKit grants for '$USERNAME' user"
|
|
|
|
[ -r /scripts/functions ] && . /scripts/functions
|
|
|
|
prereqs()
|
|
{
|
|
echo "$PREREQ"
|
|
}
|
|
|
|
case $1 in
|
|
# get pre-requisites
|
|
prereqs)
|
|
prereqs
|
|
exit 0
|
|
;;
|
|
esac
|
|
|
|
# Check that polkit is installed.
|
|
if [ ! -x ${rootmnt}/usr/libexec/polkitd ]; then
|
|
exit 0
|
|
fi
|
|
log_begin_msg "$DESCRIPTION"
|
|
|
|
# configure PolicyKit in live session
|
|
mkdir -m0755 -p ${rootmnt}/etc/PolicyKit
|
|
cat << EOF > ${rootmnt}/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 -m0750 -p ${rootmnt}/var/lib/polkit-1/localauthority/10-vendor.d
|
|
cat << EOF > ${rootmnt}/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
|