2016-03-04 26 views
1

我試圖模仿/ dev/null在另一個位置的行爲,但會發生一些奇怪的錯誤。我學會了如何在-bash: /dev/null: Permission denied中生成類似於/ dev/null的特殊文件。根據位置,/ 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 
+0

請同時顯示'id'在所有系統上的返回值。 – choroba

+1

由於它更適合於unix.stackexchange.com,因此我正在投票結束此問題。 – chepner

回答

4

是對nodev安裝選項設置爲包含你的主目錄的文件系統?

指定nodev強制文件系統不解釋塊特殊設備(如使用mknod創建的null2特殊文件)。

+0

'mount | grep home' 給出 '/ dev/sda6 on/home type ext4(rw) /home/user/.Private on/home ....' 我想這意味着掛載選項沒有設置,對不對? –

+0

嗯。一些掛載選項(例如'group','owner','user','users')自動暗示'nodev'。你的'/ etc/fstab'裏有什麼? – Flopp

+0

啊,好吧。它肯定與安裝選項有關。在/ home所在的sda6上發生錯誤。在安裝點驅動器/一切運行平穩。 也許我們可以追蹤問題出在哪裏?我的'/ etc/fstab'具有以下內容:'UUID = .../ext4 errors = remount -ro 0 1 UIID = .../home ext4 defaults 0 2 UUID = ... none swap sw 0 0' –

相關問題