4

误删除dev下特殊文件怎么办

 2 years ago
source link: https://www.lujun9972.win/blog/2018/08/18/%E8%AF%AF%E5%88%A0%E9%99%A4dev%E4%B8%8B%E7%89%B9%E6%AE%8A%E6%96%87%E4%BB%B6%E6%80%8E%E4%B9%88%E5%8A%9E/index.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

误删除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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK