如何以只读模式安装 USB 设备?

如何以只读模式安装 USB 设备?

我希望安全地从 USB 外部驱动器复制文件,以便该驱动器上的文件不会被恶意修改。

有人能用相对简单的措辞告诉我如何实现这一点吗?简单的措辞是因为我最近才开始使用 Linux,而且只是 Ubuntu Linux 用户。

答案1

当你插入 USB 时,它将自动安装并在文件夹中命名/media

打开终端(++ Ctrl)。输入以下命令:AltT

mount

您将看到如下结果:

/dev/sda7 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/kernel/debug type debugfs (rw)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda5 on /home type ext4 (rw)
/dev/sdb1 on /media/84CD-D8C7 type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,uhelper=udisks)

看看我的例子的最后一行:/dev/sdb1 on /media/84CD-D8C7 type vfat加上一些其他输出。你的线索是它的文件夹以/media; 开头,在本例中为/media/84CD-D8C7

您现在可以使用以下命令告诉系统以只读方式重新挂载它:

sudo mount --options=remount,ro /media/84CD-D8C7

当然,您可以84CD-D8C7用实际的名称替换。要检查它是否有效,您可以重新发出命令mount。看看我的命令有什么变化——查找ro括号后面的(ro代表“只读”,rw代表“读写”)。

/dev/sdb1 on /media/84CD-D8C7 type vfat (ro,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,uhelper=udisks)

解释(如果你感兴趣的话):

  • sudo表示授权此命令(即以“root”身份运行),因为“mount”命令并非对所有用户都可用。这将要求您输入密码。
  • mount告诉系统“安装”设备,即将其连接到计算机并为其指定文件夹名称。在本例中,它已经完成;我们正在使用该命令来更改设备的安装方式。
  • --options告诉mount命令我们将要指定一些选项。
  • remount意思就是:再次安装设备,使用完全相同的设置,除非您另行通知。
  • ro说要以只读方式重新挂载。这是我们对挂载所做的唯一更改。
  • /media/84CD-D8C7指定其已安装的位置。

答案2

如果你绝对不想以读/写模式安装驱动器并将其重新安装为只读,你可以暂时禁用自动挂载和:

gsettings set org.gnome.desktop.media-handling automount false

然后你可以插入你的U盘发现设备路径,运行sudo fdisk -l。这将列出您的磁盘,包括 U 盘。您应该看到(除了硬盘之外)类似以下内容:

磁盘 /dev/sdb:4009 MB,4009754624 字节
84 个磁头,22 个扇区/磁道,4237 个磁柱,共计 7831552 个扇区
单位 = 1 * 512 = 512 字节的扇区
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标识符:0x000c2533

   设备启动开始结束块ID系统
/dev/sdb1 * 62 7831551 3915745 c W95 FAT32(LBA)

接下来你需要选择您的挂载点

  1. 创建一个新文件夹来安装你的驱动器sudo mkdir /media/Pendrive或者
  2. 选择一个现有文件夹(/media/Pendrive用您选择的文件夹替换下面)

然后你就可以以只读方式手动挂载在终端中:

sudo mount -t fat -o ro /dev/sdb1 /media/Pendrive

当你完成操作并想要断开驱动器时,你可以卸载它首先是sudo umount /dev/sdb1

您现在可以可重新自动挂载和:

gsettings set org.gnome.desktop.media-handling automount true

答案3

如果您从终端手动安装驱动器,则可以将其设置为只读。这里解释如何安装驱动器,并且 -r 标志将使其只读,例如

sudo mount -t vfat /dev/sdc1 /media/external -r -o id=1000,gid=1000,utf8,dmask=027,fmask=137

对我来说很有用,因为我的 USB 驱动器显示为 sdc1 并且是 FAT32 驱动器。

如果您以前没有使用过终端,那么您所要做的就是将灰色框中的文本复制并粘贴(或突出显示并单击鼠标中键)到终端中,然后按回车键。sudo fdisk -l将会给我们很多文本,您必须弄清楚哪个驱动器是 USB,块的数量是驱动器的大小,系统会告诉您驱动器使用的文件系统。

有关 mount 命令所有功能的完整说明,您可以输入man mount

相关内容