![设备文件权限消失 (RHEL 6.1)](https://linux22.com/image/17643/%E8%AE%BE%E5%A4%87%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90%E6%B6%88%E5%A4%B1%20(RHEL%206.1).png)
我想在原始块设备文件上设置世界读/写权限(是的,我知道)。我可以将权限设置为666,但是当我触摸它或写入它后,它会立即返回到660。为什么?
[root@mysystem udev]# ll /dev/sdz6
brw-rw-rw-. 1 root disk 65, 150 Aug 30 12:09 /dev/sdz6
[root@mysystem udev]# touch /dev/sdz6
[root@mysystem udev]# ll /dev/sdz6
brw-rw----. 1 root disk 65, 150 Aug 30 13:58 /dev/sdz6
[root@mysystem udev]# chmod 666 /dev/sdz6
[root@mysystem udev]# ll /dev/sdz6
brw-rw-rw-. 1 root disk 65, 150 Aug 30 13:58 /dev/sdz6
[root@mysystem udev]#
我在 /var/log/messages、/var/log/dmesg 或 /var/log/secure 中没有看到任何内容。我关闭了 SELinux ( setenforce 0
)。
编辑- 这是我编写的修复它的脚本:
[root@mysystem rules.d]# cat /etc/udev/rules.d/99-drives.rules
KERNEL=="sd*", SUBSYSTEM=="block", MODE="0666"
[root@mysystem rules.d]# udevadm info -q path -n /dev/sdz
/devices/pci0000:80/0000:80:03.0/0000:8b:00.0/0000:8c:01.0/0000:8e:00.0/host19/rport-19:0-2/target19:0:2/19:0:2:12/block/sdz
[root@mysystem rules.d]# udevadm test /devices/pci0000:80/0000:80:03.0/0000:8b:00.0/0000:8c:01.0/0000:8e:00.0/host19/rport-19:0-2/target19:0:2/19:0:2:12/block/sdz 2>&1 | grep '99-drives'
parse_file: reading '/etc/udev/rules.d/99-drives.rules' as rules file
udev_rules_apply_to_event: MODE 0666 /etc/udev/rules.d/99-drives.rules:1
答案1
手动在 udev 中设置权限几乎永远不会起作用。您确实应该考虑在 /etc/udev 中添加一条规则,在相关设备上设置“MODE=0666”。这将使系统以这种方式创建它。
(根据评论讨论添加)