#!/bin/bash -e [[ $ACTION = add ]] || exit 0 UDEV_CONF=/etc/udev/udev.conf [[ -f $UDEV_CONF ]] && . $UDEV_CONF [[ -z $udev_permissions ]] && udev_permissions=/etc/udev/permissions.d REFS="$DEVNAME $(udevinfo -r -q symlink -p $DEVPATH)" logger -t $0 -p daemon.debug -- "checking references for $DEVNAME for permission s: $REFS" for node in $REFS; do [[ ! -b $node ]] && [[ ! -c $node ]] && [[ ! -L $node ]] && continue name=${node#/dev/} perms=$(grep -h "^$name" $udev_permissions/*.permissions | tail -1) set -- $(echo ${perms//:/ }) [[ -z $2 ]] && continue logger -t $0 -p daemon.debug -- "applying permissions $2:$3:$4 to $DEVNAME (due to reference '$1')..." chgrp $2:$3 $DEVNAME chmod $4 $DEVNAME done