ssm-services/init.d/devfs-permissions

38 lines
673 B
Bash
Executable File

#!/usr/bin/env bash
# This is a script to set up the right permissions in /dev in absence of e?(u|s?m)dev.
# Run this _after_ miscfs.
service_type='oneshot'
# Config
cfg_devices=(
'/dev/snd;root:audio;770'
'/dev/dri;root:video;770'
'/dev/fuse;root:root;777'
)
cfg_links=(
'/proc/self/fd;/dev/fd'
)
start() {
for d in "${cfg_devices[@]}"; do
IFS=';' read device owner perms <<< "$d"
[[ -e "$device" ]] && {
chown -R "$owner" "$device"
chmod -R "$perms" "$device"
}
done
for l in "${cfg_links[@]}"; do
IFS=';' read dest link <<< "$l"
[[ -e "$link" ]] || {
[[ -e "$dest" ]] && {
ln -s "$dest" "$link"
}
}
done
}