dd 不带 sudo 对分区进行映像

Pie*_* dS 6 sudo dd usb-drive

我需要创建一个 USB 驱动器分区的映像:

dd if=/dev/sdb1 of=sdb1.img
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有 sudo/su 的情况下做到这一点?也许通过更改 USB 驱动器上的权限?会有什么安全影响?

And*_*ton 6

有没有办法不用 sudo/su 来做到这一点?也许通过更改 USB 驱动器上的权限?

如果您/dev/sdb1具有以下权限:

$ ls -l /dev/sdb1
brw-rw---- 1 root disk 8, 17 Apr 25 17:07 /dev/sdb1
Run Code Online (Sandbox Code Playgroud)

然后一个选项是将您的用户添加到disk组中:

# usermod --append --groups disk username
Run Code Online (Sandbox Code Playgroud)

之后,用户下次登录时,他们将能够读取设备。dd之后你应该工作。

这会带来什么安全影响?

由于用户可以直接读取任何磁盘,因此用户可以访问任何磁盘上任何用户拥有的文件。

用户不仅能够读取任何磁盘,还能够直接写入具有相同权限的任何(g+rw)块设备文件。该用户可能会因意外写入这些块设备文件而轻易损坏任何文件系统。更改权限以禁止disk组写入权限可能会产生我无法预测的其他副作用。

因此,如果您使用的是多用户系统或您关心任何磁盘上存储的数据的系统,我不建议您这样做。由于安全隐患,普通用户无法访问块设备。

  • 请注意,这可能会提供对**所有磁盘**的读/写访问权限,而不仅仅是 USB 驱动器。似乎是一个重要的细节,特别是考虑到OP正在询问安全隐患;) (4认同)