若不小心误删除了 /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