Linux

使用者需要將專用外部硬碟驅動器安裝到他們的主文件夾

  • June 16, 2016

我們 Ubuntu 伺服器上的一位使用者為我們提供了一個外部硬碟驅動器,作為增加其帳戶儲存空間量的一種方式。

他們希望我們將這個外部硬碟驅動器自動安裝在他們自己的 /home/user 文件夾中到 /home/user/usbDrive 等位置

此外,他們希望確保系統上沒有其他使用者可以訪問此外部硬碟驅動器。

通常,在沒有多個使用者的系統上,我一直在將外部硬碟驅動器安裝到 /media/usbDrive 之類的位置,而我從來沒有真正花時間查看其他使用者是否可以使用此類安裝(因為沒有’不是任何其他使用者)。

我知道如何將條目添加到 fstab 表中,以便自動安裝掛載,但我真正需要指導的是這些問題:

  1. 在多使用者環境中安裝僅供一個使用者使用的外部硬碟驅動器的最佳位置在哪裡?
  2. 如果我將此外部硬碟驅動器安裝在他們自己的 /home/user 文件夾中的某個位置,他們會自動成為唯一可以訪問它的使用者(除了 root 使用者)嗎?或者,是否需要額外的權限修改來確保這一點。
  3. 我擔心如果我掛載到 /home/user/usbDrive,如果掛載失敗,大量數據將填滿內部硬碟驅動器(在該掛載位置),而不是進入外部硬碟驅動器(如預期)。這是一個有效的擔憂嗎?

我建議使用autofs將驅動器(https://wiki.archlinux.org/index.php/Autofs)安裝在標準位置(例如,不是他們的主目錄)。預設autofs/run/media/$username/$media-title

udev限制權限(https://wiki.archlinux.org/index.php/Udev)和一個符號連結以允許使用者從他們的主目錄訪問驅動器。

用於配置 autofs 的 arch wiki 摘錄:

/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目錄的符號連結,因為如果未安裝磁碟,該目錄將不存在。這意味著嘗試寫入該目錄將失敗,而不是默默地填充硬碟驅動器。

對此有一些設置,因此請將此答案用作起點而不是全面的,但是它應該可以解決您的所有問題。

引用自:https://unix.stackexchange.com/questions/102259