linux誤刪除 dev 下特殊檔案怎麼辦
若不小心誤刪除了 /dev/null 這樣的特殊檔案,或者chroot到其他目錄需要手工建立 /dev/null 怎麼辦呢?
我們可以用 mknod 來重新建立
sudo /bin/mknod -m 0666 /dev/null c 1 3
其中 mknod 命令用來建立塊或者字元特殊檔案,其語法為
mknod [選項]... 名稱 型別 [主裝置號 從裝置號]
其中:
-m 0666
設定裝置檔案的許可權
c
建立的是字元無緩衝特殊檔案
1和3
分別表示主裝置號和從裝置號。
呼叫 mknod 的所有這些引數都能通過 stat 命令預先查出來
stat /dev/null
檔案:/dev/null
大小:0 塊:0 IO 塊:4096 字元特殊檔案
裝置:6h/6d Inode:32 硬連結:1 裝置型別:1,3
許可權:(0666/crw-rw-rw-) Uid:( 0/ root) Gid:( 0/ root)
最近訪問:2018-08-18 06:19:31.450439053 +0800
最近更改:2018-08-18 06:19:31.450439053 +0800
最近改動:2018-08-18 06:19:31.450439053 +0800
建立時間:-
從上面結果可以看出 /dev/null 是一個許可權為 0666,裝置型別為 1,3 的字元特殊檔案
/dev/random 和 /dev/urandom 也可以採取類似的方法建立
# - name: Mknod /dev/random to Chroot
sudo /bin/mknod -m 0666 /dev/random c 1 8
# - name: Mknod /dev/urandom to Chroot
sudo /bin/mknod -m 0666 /dev/urandom c 1 9