summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/udev/redhat/udev.rules10
-rw-r--r--test/udev-test.pl28
2 files changed, 33 insertions, 5 deletions
diff --git a/etc/udev/redhat/udev.rules b/etc/udev/redhat/udev.rules
index 30d8ba7c98..9df77b3339 100644
--- a/etc/udev/redhat/udev.rules
+++ b/etc/udev/redhat/udev.rules
@@ -87,6 +87,9 @@ KERNEL="pcd[0-9]*", SYMLINK="cdrom%e"
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"
@@ -101,10 +104,7 @@ KERNEL="hd[a-z]", BUS="ide", SYSFS{removable}="1", PROGRAM="/etc/udev/scripts/ch
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"
diff --git a/test/udev-test.pl b/test/udev-test.pl
index 578adc4df1..b50554ceb9 100644
--- a/test/udev-test.pl
+++ b/test/udev-test.pl
@@ -634,6 +634,34 @@ 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
+ },
+ {
desc => "major/minor number test",
subsys => "block",
devpath => "/block/sda",