add abc to all video and render groups

pull/208/head
aptalca 5 years ago
parent f22dc94338
commit 66046f9582

@ -3,32 +3,29 @@
# check for the existence of a video and/or tuner device # check for the existence of a video and/or tuner device
if [ -e /dev/dri ] || [ -e /dev/dvb ]; then if [ -e /dev/dri ] || [ -e /dev/dvb ]; then
if [ -e /dev/dri ]; then if [ -e /dev/dri ]; then
VIDEO_GID=$(stat -c '%g' /dev/dri/* | grep -v '^0$' | head -n 1) FILES="${FILES} /dev/dri/*"
else
VIDEO_GID=$(stat -c '%g' /dev/dvb/* | grep -v '^0$' | head -n 1)
fi fi
# just add abc to root if stuff in dri/dvb is root owned if [ -e /dev/dvb ]; then
if [ -z "${VIDEO_GID}" ]; then FILES="${FILES} /dev/dvb/*"
usermod -a -G root abc
exit 0
fi fi
else else
exit 0 exit 0
fi fi
# Check if this GID matches the current abc user for i in $FILES
ABCGID=$(getent group abc | awk -F: '{print $3}') do
if [ "${ABCGID}" == "${VIDEO_GID}" ]; then VIDEO_GID=$(stat -c '%g' "$i")
exit 0 if ! id -G abc | grep -qw "$VIDEO_GID"; then
fi if [ "${VIDEO_GID}" == '0' ]; then
usermod -a -G root abc
# Check if the GID is taken and swap to 65533
CURRENT=$(getent group ${VIDEO_GID} | awk -F: '{print $1}')
if [ -z "${CURRENT}" ] || [ "${CURRENT}" == 'video' ]; then
groupmod -g ${VIDEO_GID} video
usermod -a -G video abc
else else
groupmod -g 65533 ${CURRENT} VIDEO_NAME=$(getent group "${VIDEO_GID}" | awk -F: '{print $1}')
groupmod -g ${VIDEO_GID} video if [ -z "${VIDEO_NAME}" ]; then
usermod -a -G video abc VIDEO_NAME="video$(head /dev/urandom | tr -dc 0-9 | head -c4)"
groupadd "$VIDEO_NAME"
groupmod -g "$VIDEO_GID" "$VIDEO_NAME"
fi
usermod -a -G "$VIDEO_NAME" abc
fi
fi fi
done
Loading…
Cancel
Save