用户需要安装到其主文件夹的专用外部硬盘驱动器

用户需要安装到其主文件夹的专用外部硬盘驱动器

我们的 Ubuntu 服务器上的一位用户给了我们一个外部硬盘驱动器,作为增加其帐户存储空间量的一种方法。

他们希望我们自动将他们自己的 /home/user 文件夹中的外部硬盘驱动器安装到 /home/user/usbDrive 等位置

此外,他们希望确保系统上的其他用户无法访问此外部硬盘驱动器。

通常,在没有多个用户的系统上,我一直将外部硬盘驱动器安装到 /media/usbDrive 之类的位置,并且我从未真正花时间查看此类安装是否可供其他用户使用(因为没有没有任何其他用户)。

我知道如何向 fstab 表添加条目以便自动安装挂载,但我真正要求指导的是以下问题:

  1. 在多用户环境中,安装仅由一名用户使用的外部硬盘驱动器的最佳位置在哪里?

  2. 如果我将此外部硬盘驱动器安装在他们自己的 /home/user 文件夹中的某个位置,他们是否会自动成为唯一可以访问它的用户(除了 root 之外)?或者,是否需要进行额外的权限修改才能确保这一点。

  3. 我担心如果我安装到 /home/user/usbDrive,如果安装失败,大量数据将填满内部硬盘驱动器(在该安装位置),而不是转到外部硬盘驱动器(如预期)。这是一个合理的担忧吗?

答案1

我建议使用autofs来安装驱动器(https://wiki.archlinux.org/index.php/Autofs)在标准位置(例如不是他们的主目录)。默认autofs/run/media/$username/$media-title.

udev限制权限(https://wiki.archlinux.org/index.php/Udev)和一个符号链接,允许用户从其主目录访问驱动器。

来自 arch wiki 的有关配置 autofs 的摘录:

/etc/autofs/auto.master

/media/misc     /etc/autofs/auto.misc     --timeout=5
/media/net      /etc/autofs/auto.net      --timeout=60

/etc/autofs/auto.misc

#kernel   -ro                                        ftp.kernel.org:/pub/linux
#boot     -fstype=ext2                               :/dev/hda1
usbstick  -fstype=auto,async,nodev,nosuid,umask=000  :/dev/sdb1
cdrom     -fstype=iso9660,ro                         :/dev/cdrom
#floppy   -fstype=auto                               :/dev/fd0

您可以决定是否喜欢这个想法autofs,我在这里建议的原因是:以防在启动机器时设备未插入(fstab在启动时引用,但除非您mount -a手动运行root) 。另外,autofs如果它安装的目录不存在,将临时创建它,这对我的最后一点很有用。

udev 用于修改硬件设备设置/权限等

/udev/rules.d/99-sdb1.rules

KERNEL="sdb1", OWNER="user1", GROUP="user1", MODE="0700"

这将阻止除user1阅读或写作之外的任何人sdb1

我建议在用户的主目录中建立一个指向该autofs目录的符号链接,因为如果未安装磁盘,该目录将不存在。这意味着尝试写入该目录将失败,而不是默默地填充硬盘驱动器。

为此需要进行一些设置,因此请使用此答案作为起点而不是全面的答案,但它应该可以解决您的所有问题。

答案2

如果我将此外部硬盘驱动器安装在他们自己的 /home/user 文件夹中的某个位置,他们是否会自动成为唯一可以访问它的用户(除了 root 之外)?或者,是否需要进行额外的权限修改才能确保这一点?

访问内部文件夹的能力/home/user与安装无关,取决于为其他用户设置的权限/home/user

  • drwxr-xr-x:/home/user/usbDrive每个人都可以访问。
  • drwxr--r--:其他用户将能够看到/home/user/usbDrivels /home/user/将列出usbDrive),但无法访问其中的任何内容。
  • drwx--x--x:其他用户将无法看到,但如果知道其名称(可以使用),则/home/user/usbDrive可以访问它。cd /home/user/usbDrive
  • drwx------:其他用户将被拒绝所有访问/home/user/usbDrive

请注意,一旦安装了驱动器,内部的权限/home/user/usbDrive将取决于安装选项,而不是/home/user/usbDrive目录的原始权限。

相关内容