Evento Acpid negado por SELinux, ¿cómo puedo permitir el evento de forma segura sin abrir agujeros de seguridad?

Evento Acpid negado por SELinux, ¿cómo puedo permitir el evento de forma segura sin abrir agujeros de seguridad?

Instalé Fedora (3.17.2-200.fc20.x86_64) en mi nueva computadora portátil (Lenovo Yoga Pad) y quería agregar este script para que se active cada vez que volteo la pantalla. El script desencadenado con el evento está ubicado /etc/acpi/actionsy es propiedad de root.

El problema: cuando volteé la pantalla no pasó nada excepto SELinux diciéndome diferentes advertencias (como acceso denegado, algunas cosas sobre ioctl y read, etc. que no puedo recordar correctamente). De todos modos, me dijo que ejecutara grep tablet_mode.ori /var/log/audit/audit.log | audit2allow -M mypoly semodule -i mypol.ppsolucionara el problema. Hice eso, pero después de reiniciar no pasó nada cuando volteé la pantalla. Ahora, eliminé los archivos mypol en mi directorio de inicio porque pensé que podría ver la salida de SELinux nuevamente.

Estoy atascado ahora y tengo miedo de abrir agujeros de seguridad en mi SELinux, ¿cuál es la solución adecuada para esto? Lo curioso es que cuando reinicio acpid con sudo killall acpid && sudo acpidel evento se activa y funciona, lo único que no funciona en este caso es el comando gsettings, no muestra ningún error, pero no cambia la configuración de mi usuario (toor).

Este es el script que se activa con el evento:

#!/bin/bash

su toor -c "/home/toor/backup/scripts/toggle_keyboard.sh"
touchpad=$(xinput list-props "SynPS/2 Synaptics TouchPad" | grep "Device Enabled" | awk -F ":" '{print $2}')
if [ $touchpad -eq 1 ]; then
    /home/toor/backup/scripts/rotate.sh inverted
    xinput --set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 0
else
    /home/toor/backup/scripts/rotate.sh normal
    xinput --set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1
fi

Este es el rotar.sh:

#!/bin/bash

current_orientation(){
    xrandr|grep " connected" |awk '{print $4}'
}
rotate_left(){
    xrandr -o left
    xsetwacom set "Wacom ISDv4 EC Pen stylus" rotate ccw
        xsetwacom set "Wacom ISDv4 EC Pen eraser" rotate ccw
    xinput set-prop "ELAN Touchscreen" "Coordinate Transformation Matrix" 0 -1 1 1 0 0 0 0 1
}
rotate_right(){
    xrandr -o right
    xsetwacom set "Wacom ISDv4 EC Pen stylus" rotate cw
        xsetwacom set "Wacom ISDv4 EC Pen eraser" rotate cw
    xinput set-prop "ELAN Touchscreen" "Coordinate Transformation Matrix" 0 1 0 -1 0 1 0 0 1
}
rotate_inverted(){
    xrandr -o inverted
    xsetwacom set "Wacom ISDv4 EC Pen stylus" rotate half
        xsetwacom set "Wacom ISDv4 EC Pen eraser" rotate half
    xinput set-prop "ELAN Touchscreen" "Coordinate Transformation Matrix" -1 0 1 0 -1 1 0 0 1
}
rotate_normal(){
    xrandr -o normal
    xsetwacom set "Wacom ISDv4 EC Pen stylus" rotate none
        xsetwacom set "Wacom ISDv4 EC Pen eraser" rotate none
    xinput set-prop "ELAN Touchscreen" "Coordinate Transformation Matrix" 1 0 0 0 1 0 0 0 1
}

orientation=$(current_orientation)

# if the orientation argument was given to this script, sets orientation variable
# according to the way we want to rotate in next loop.
if [ -n "$1" ]; then
    if [ "$1" == "normal" ]; then
        orientation="right"
    fi
    if [ "$1" == "left" ]; then
        orientation="(normal"
    fi
    if [ "$1" == "right" ]; then
        orientation="inverted"
    fi
    if [ "$1" == "inverted" ]; then
        orientation="left"
    fi
fi

# turns 90° counter-clockwise
case $orientation in
    "(normal" )
        rotate_left
        ;;
    "inverted" )
        rotate_right
        ;;
    "right" )
        rotate_normal
        ;;
    "left" )
        rotate_inverted
        ;;
    * )
        echo "it fucked up"
        exit 1
        ;;
esac

exit 0

y este sería el toggle_keyboard.sh

#!/bin/bash
# toggle onboard keyboard

obk=$(gsettings get org.gnome.desktop.a11y.applications screen-keyboard-enabled)

if [ $obk == 'false' ]; then
        gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true
else
        gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled false
fi

Ojalá puedas ayudarme con esto, agradezco cualquier ayuda.

información relacionada