1

/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 マシンでエラーを再現できますが、3 番目のマシンではエラーは発生しません。そこで何が起こっているのか手がかりはありますか?

奇妙なことに、これらのマシンのいずれでも、パーミッションとメジャー/マイナーは同じです。

$ 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
4

1 に答える 1

4

nodevホームディレクトリを含むファイルシステムにマウントオプションが設定されていますか?

を指定nodevすると、ファイル システムはブロック スペシャル デバイス (null2で作成したスペシャル ファイルなどmknod) を解釈しなくなります。

于 2016-03-04T17:40:23.403 に答える