掛載 Windows 分割區的最佳實踐

掛載 Windows 分割區的最佳實踐

我在我的筆記型電腦上運行 Windows 和 Debian 的雙重啟動。我主要使用 Linux,但有時我需要存取 Windows 分割區中的檔案。我的 Windows 分割區在啟動時安裝如下。

>cat /etc/fstab |grep Win7
LABEL=Windows7_OS /mnt/Win7 auto nosuid,nodev,nofail,x-gvfs-show 0 0

基本上Windows分割區中的每個檔案都歸root:root所有,並具有777權限。然後,每當我將文件mv 到我的工作(Linux)分區時,我的分區下就會有一個777 文件,該文件歸我所有(雖然終端中的cp 會給出755 文件,但如果通過gnome完成,將以777 權限儲存該檔案) 。

這是掛載分割區的最佳實務嗎?或者我應該掛載它,而不是 root,我是所有文件/目錄的所有者,並且在啟動時掛載時能夠以某種方式將所有目錄設置為 755,將文件設置為 644?如果可以的話,該怎麼辦呢?

答案1

您可以使用fmask掛載dmask選項*來變更 ntfs 檔案系統上的權限對應。

若要使檔案rw-r--r--(644) 和目錄rwxr-xr-x(755) 顯示,請使用fmask=0133,dmask=0022.如果您需要使用者的寫入存取權限,您可以將其與uid=gid=選項結合選擇檔案擁有者和群組。

*fmask並且dmask似乎也適用於內核(只讀)驅動程序,即使它們沒有記錄在安裝手冊頁。他們是有記錄的ntfs-3g 的選項。

答案2

首先,這不是 /mnt 的使用方式。這是為了暫時在檔案系統上執行管理任務,而不是每次系統啟動時。

由於 Windows 分割區不參與 Linux 系統的運行,因此將其掛載在 /media 下是有意義的。您可能還需要考慮將其安裝在 root / as /Windows 下,以避免 /media 用於可移動媒體的任何混淆。

至於權限,我會使用一個名為 windows 的群組

groupadd -g 1001 Windows

並透過以下選項為其授予您想要的權限:

gid=1001,umask=022

如果你想使用cp並保持權限不同檔案系統之間將 cp 與 -p 或 -a 標誌一起使用。

答案3

使用掛載選項uidgid、 ,fmaskdmask可以讓您的常規使用者帳戶和/或一組可以存取整個 NTFS 檔案系統。但這是要么全有要么全無的情況:就 NTFS 檔案系統而言,它就像在 Windows 中始終以完全管理員身份運行,或者就像在 Linux 中以 root 身份執行所有操作。 NTFSntfs-3g檔案系統驅動程式可以做得更好。

如果您使用的是ntfs-3g,則可以使用該ntfsusermap命令為 NTFS 檔案系統建立使用者對應檔案。該命令將幫助您識別 Windows 使用者名稱及其對應的 Windows SID,並將它們與 Linux 使用者和群組 ID 相關聯。

透過這種方式,您可以將 Windows 使用者帳戶的 SID 與 Linux UID 關聯起來。這樣,一旦您使用位於 的使用者對映檔案來掛載 NTFS 檔案系統<NTFS filesystem root>/.NTFS-3G/UserMapping,您就可以使用常規 Linux 使用者帳戶來存取 NTFS 檔案系統,就像您的 Windows 使用者帳戶能夠存取的那樣。對於在 Windows 中需要管理員權限的操作,在 Linux 中仍需要 root 權限。

這樣,您就可以輕鬆存取 Windows 分割區上的文件,但仍然可以防止\Windows由於輸入錯誤的命令而弄亂您的目錄,除非您以 root 身份運行。

您可能還想windows_names在 NTFS 分割區上使用掛載選項,以防止意外建立 Windows 無法存取的名稱的檔案。

相關內容