如何在启动时将驱动器挂载到我的主目录下?

如何在启动时将驱动器挂载到我的主目录下?

在我当前的设置中,我有一个 2x3TB HDD 的 RAID0 阵列,带有 btrfs、两个分区:

  • /
  • /home

/home目录下有两个用户,都是admin,其中一个是我自己。

到目前为止,虽然 btrfs 相当慢,但这个设置运行得很好。


我最近购买了一个相当不错的 500 GB SATA HDD。我将对其进行格式化,ext4XFS提高临时事物(例如我的测试虚拟机等)的性能。我想在启动时将其安装在我的主目录下,即:

/home/haneefmubarak/extradrive

我首先想到的是使用 /etc/fstab,但 AFAICT 然后权限将无法正确设置,无法让我正常使用它。

本质上,我想安装该驱动器,以便~/extradrive像任何其他目录一样使用设置的权限安装该驱动器,以便我“拥有”整个驱动器。我该怎么做呢?

答案1

方法#1

尝试这样的行/etc/fstab

UUID=XX  /home/user/extradrive ext3   rw,noauto,user,sync          0  2

方法#2

还使用 UID/GID 显示示例:

UUID=XX  /home/user/extradrive ext3   rw,exec,uid=userX,gid=grpX   0  2
笔记

您还可以在执行实际手动安装时使用mount+ 选项进行覆盖:

$ sudo mount <device> <mount-point> -o uid=foo -o gid=foo

方法#3

最后,在手动安装 HDD 后,您可以通过将已安装的额外驱动器的顶层设置为 userX/groupX 拥有来避免整个业务:

$ sudo chown -R userX.groupX <directory>

然后在/etc/fstab

<device>    <directory>  ext3   user,defaults 0 2

userX 现在应该能够在重新启动时访问驱动器。

笔记:假设/home/userX已经安装了上述几个选项。因此请注意它已事先安装。

参考

答案2

安装后访问驱动器上的材料涉及两件事:

  • 挂载目录的权限
  • 对单个材料的权限

第一个可以通过设置限制其他人访问驱动器上的任何材料chmod o- ~/extradrive,甚至除了你自己之外的所有人`(chmod go-rwx ~/extradrive)

已安装驱动器上单个文件/目录的所有权是永久的,因此您只需chown一次,而不必在每次安装后都如此。您过去可能遇到过没有详细所有者信息的文件系统的问题,但ext4/XFS不会给您带来这些问题。因此,即使您允许其他人通过安装点进行访问,他们也无法在驱动器上执行太多操作,除非他们在任何子目录中具有写入权限。


不要将 VM 磁盘文件放在 Btrfs 上绝对是个好主意。您可能需要查看碎片整理/以及/home重新排列材料后的情况。

答案3

我解决了这个问题mount --bind

  1. sudo crontab -e
  2. 添加一行:@reboot sleep 30; bash /usr/local/sbin/mnt.sh

如下mnt.sh

#!/bin/sh
mount --bind /home/yourname/afolder /media/yourname/drive/afolder
exit

相关内容