访问urandom设备获得“权限被拒绝”,为什么?

时间:2017-06-09 01:19:31

标签: linux random

我可以在某个目录上创建一个新的urandom设备(例如下面的test_urandom),它可以正常工作。 E.g。

test_urandom$ sudo mknod -m 0444 ./urandom c 1 9
test_urandom$ ls -l
total 0
cr--r--r-- 1 root root 1, 9 Jun  9 09:06 urandom
test_urandom$ head -c 10 ./urandom 
�׫O1�9�^

但是,如果我在另一个目录中创建相同的设备节点,在我的情况下是LVM(逻辑卷管理)上的ext4文件系统,它失败并且系统抱怨permission denied.

test_urandom_lvm$ sudo mknod -m 0444 ./urandom c 1 9
test_urandom_lvm$ ls -l
total 0
cr--r--r-- 1 root root 1, 9 Jun  9 09:06 urandom
test_urandom_lvm$ head -c 10 ./urandom
head: cannot open ‘./urandom’ for reading: Permission denied

如果允许我在文件系统中创建设备,为什么不允许读取设备?是什么导致许可被拒绝?要使其发挥作用需要做哪些改变?

1 个答案:

答案 0 :(得分:1)

文件系统使用nodev选项挂载,禁止块和字符特殊设备操作。挂载它dev将允许它们工作。