2018-03-23 16:31:46 -04:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# Make sure this script is ran as root
|
|
|
|
if [[ "$(whoami)" != "root" ]]; then
|
|
|
|
echo "Please run $0 with oot privileges."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# This script checks for, and creates if needed, the fenrirscreenreader user.
|
|
|
|
|
2018-03-23 17:33:55 -04:00
|
|
|
# Find out which group to use for uinput
|
|
|
|
uinput="$(stat -c '%G' /dev/uinput | grep -v root)"
|
|
|
|
if ! [[ "$uinput" =~ ^[a-zA-Z]+$ ]]; then
|
|
|
|
groupadd -r uinput
|
|
|
|
chown root:uinput /dev/uinput
|
|
|
|
fi
|
|
|
|
|
2018-03-23 16:31:46 -04:00
|
|
|
# find out which group to use for /dev/input.
|
|
|
|
input="$(stat -c '%G' /dev/input/* | grep -v root | head -1)"
|
|
|
|
if ! [[ "$input" =~ ^[a-zA-Z]+$ ]]; then
|
|
|
|
# Create the input group
|
|
|
|
groupadd --system input
|
|
|
|
echo 'KERNEL=="event*", NAME="input/%k", MODE="660", GROUP="input"' >> /etc/udev/rules.d/99-input.rules
|
|
|
|
input="input"
|
|
|
|
fi
|
|
|
|
|
|
|
|
# find out which group to use for /dev/tty.
|
|
|
|
tty="$(stat -c '%G' /dev/tty | grep -v root)"
|
|
|
|
if ! [[ "$tty" =~ ^[a-zA-Z]+$ ]]; then
|
|
|
|
# Create the tty group
|
|
|
|
groupadd --system tty
|
|
|
|
echo 'KERNEL=="event*", NAME="tty/%k", MODE="660", GROUP="tty"' >> /etc/udev/rules.d/99-tty.rules
|
|
|
|
tty="tty"
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Add fenrirscreenreader
|
|
|
|
id fenrirscreenreader &> /dev/null || {
|
2018-03-23 17:33:55 -04:00
|
|
|
useradd -m -d /var/fenrirscreenreader -r -G $input,$tty,$uinput -s /bin/nologin -U fenrirscreenreader;
|
2018-03-23 16:31:46 -04:00
|
|
|
sudo -u fenrirscreenreader mkdir -p /var/fenrirscreenreader/.config/pulse;
|
|
|
|
sudo -u fenrirscreenreader echo -e '.include /etc/pulse/default.pa\nload-module module-switch-on-connect\nload-module module-native-protocol-unix auth-anonymous=1 socket=/tmp/pulse.sock' > /var/fenrirscreenreader/.config/pulse/default.pa;
|
|
|
|
}
|
|
|
|
|
|
|
|
#configure directory structure.
|
|
|
|
mkdir -p /var/log/fenrirscreenreader /etc/fenrirscreenreader
|
|
|
|
|
|
|
|
# Set directory ownership
|
|
|
|
chown -R fenrirscreenreader:fenrirscreenreader /var/log/fenrirscreenreader
|
|
|
|
chmod -R 755 /var/log/fenrirscreenreader
|
|
|
|
chown -R root:fenrirscreenreader /etc/fenrirscreenreader
|