/ dev / null的副本根据位置具有不同的行为

时间:2016-03-04 17:01:14

标签: bash unix permissions dev-null

我尝试在其他位置模仿/ dev / null的行为,但发生了一些奇怪的错误。我学会了如何在-bash: /dev/null: Permission denied中生成类似于/ dev / null的特殊文件。

在某个文件夹中,例如回家后,发生以下情况:

$ sudo mknod -m 666 null2 c 1 3
$ cat null2
cat: null2: Permission denied

另一方面,当在/ dev中时,不会发生错误:

$ cd /dev
$ sudo mknod -m 666 null2 c 1 3
$ cat null2

我可以在另一台xubuntu机器上重现错误,但在第三台机器上不会发生错误。有什么线索在那里?

奇怪的是,在任何这些机器上,权限和主要/次要是相同的:

$ ls -la null2
crw-rw-rw- 1 root root 1, 3 Mär  4 17:42 null2
$ ls -la /dev/null
crw-rw-rw- 1 root root 1, 3 Mär  4 11:46 /dev/null

复制/ dev / null

时也一样
$ sudo cp -pR /dev/null null2 && cat null2
cat: null2: Permission denied

1 个答案:

答案 0 :(得分:4)

是否为包含主目录的文件系统设置了nodev挂载选项?

指定nodev会强制文件系统不解释阻止特殊设备(例如您使用null2创建的mknod特殊文件)。