chmod 660 on /dev/pass*
Joerg Anslik
joerg at anslik.de
Fri Mar 11 18:05:14 PST 2005
Okay,
>Well, make it three columns: device owner:gid permission.
It's late, but here's a first shot.
(1) The /etc/devperms.local config file:
---------------------------------------------
#################
# devperms.local test file
#################
# bacula-sd needs access to /dev/pass?, so grant rw permissions to
group.
pass* root:operator 660 # This space for rent
# Test entry: keep MAKEDEV's ownership and permissions
nsa0 root:operator 660
# Fridge access
fridge heinz:ketchup 644
(2) What could be appended to MAKEDEV:
------------------------------------------------
DEVPERM_FILE="/etc/devperms.local"
# No local device permissions file, so go home
[ -f $DEVPERM_FILE ] || exit
# Read stuff from file
cat $DEVPERM_FILE |
while read LINE
do
# Skip empty lines and comments
[ `echo $LINE | grep -c ^$` -eq 0 ] || continue
[ `echo $LINE | grep -c ^#` -eq 0 ] || continue
# Split current line into fields
set - `echo $LINE`
# Ignore lines with less than three fields
[ $# -ge 3 ] || continue
# Need a separator ':' in field #2 (owner:group)
[ `echo $2 | grep -c :` -eq 1 ] || continue
# Check if last char of field No.1 is an asterisk
DEVICE=`echo $1 | cut -d\* -f1`
FAMILY=`echo $1 | cut -d\* -f2`
# Just do it
if [ -z "$FAMILY" ]
then
# Set owner, group and permissions for entire device
family
ls -1 /dev/${DEVICE}* |
while read ENTRY
do
echo "Family: $ENTRY --> chown $2 --> chmod
$3"
#chown $2 $ENTRY
#chmod $3 $ENTRY
done
else
# Set owner, group and permissions for a single device
echo "Single: $DEVICE --> chown $2 --> chmod $3"
#chown $2 $DEVICE
#chmod $3 $DEVICE
fi
done
Could be beautified, but according to local time here, it's okay...and
works. (After getting rid of line wraps :)
--j
-----------------------------------------------------
who | grep -i blonde | talk; cd ~; wine; talk; touch;
unzip; touch; strip; gasp; finger; gasp; mount;
fsck; more; yes; gasp; umount; make clean; sleep
More information about the Submit
mailing list