KERNEL="fd[0-9]*", SYMLINK="floppy%e"
KERNEL="nst[0-9]*", SYMLINK="tape%e"
+# default permissions for all block devices
+SUBSYSTEM="block", GROUP="disk", MODE="0640"
+
KERNEL="hd[a-z]", BUS="ide", SYSFS{removable}="1", PROGRAM="/etc/udev/scripts/ide-media.sh %k", RESULT="floppy", SYMLINK="floppy%e, NAME{ignore_remove, all_partitions}="%k", GROUP="floppy"
KERNEL="hd[a-z]", BUS="ide", SYSFS{removable}="1", RESULT="cdrom", SYMLINK="cdrom%e"
KERNEL="sr[0-9]*", BUS="scsi", PROGRAM="/etc/udev/scripts/check-cdrom.sh %k DVD-R", SYMLINK="dvdwriter%e"
# rename sr* to scd*
-KERNEL="sr[0-9]*", BUS="scsi", NAME="scd%n", GROUP="disk", MODE="0640"
-KERNEL="hd[a-z]*", BUS="ide", SYSFS{removable}="1", NAME{ignore_remove}="%k", GROUP="disk", MODE="0640"
-
-# all block devices
-SUBSYSTEM="block", NAME="%k", GROUP="disk", MODE="0640"
+KERNEL="sr[0-9]*", BUS="scsi", NAME="scd%n"
+KERNEL="hd[a-z]*", BUS="ide", SYSFS{removable}="1", NAME{ignore_remove}="%k"
KERNEL="dvb*", PROGRAM="/etc/udev/scripts/dvb.sh %k", NAME="%c"
KERNEL="ttyUSB[0-9]*", OWNER="5000", GROUP="100", MODE="0777"
KERNEL="ttyUSX[0-9]*", OWNER="5001", GROUP="101", MODE="0444"
KERNEL="ttyUSB[0-9]*", NAME="ttyUSB%n"
+EOF
+ },
+ {
+ desc => "multiple permissions only rule",
+ subsys => "tty",
+ devpath => "/class/tty/ttyUSB0",
+ exp_name => "ttyUSB0",
+ exp_perms => "3000:4000:0777",
+ conf => <<EOF
+SUBSYSTEM="tty", OWNER="3000"
+SUBSYSTEM="tty", GROUP="4000"
+SUBSYSTEM="tty", MODE="0777"
+KERNEL="ttyUSX[0-9]*", OWNER="5001", GROUP="101", MODE="0444"
+KERNEL="ttyUSB[0-9]*", NAME="ttyUSB%n"
+EOF
+ },
+ {
+ desc => "permissions only rule with override at NAME rule",
+ subsys => "tty",
+ devpath => "/class/tty/ttyUSB0",
+ exp_name => "ttyUSB0",
+ exp_perms => "3000:8000:0777",
+ conf => <<EOF
+SUBSYSTEM="tty", OWNER="3000"
+SUBSYSTEM="tty", GROUP="4000"
+SUBSYSTEM="tty", MODE="0777"
+KERNEL="ttyUSX[0-9]*", OWNER="5001", GROUP="101", MODE="0444"
+KERNEL="ttyUSB[0-9]*", NAME="ttyUSB%n", GROUP="8000"
EOF
},
{