
我在我的筆記型電腦上運行 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
答案2
首先,這不是 /mnt 的使用方式。這是為了暫時在檔案系統上執行管理任務,而不是每次系統啟動時。
由於 Windows 分割區不參與 Linux 系統的運行,因此將其掛載在 /media 下是有意義的。您可能還需要考慮將其安裝在 root / as /Windows 下,以避免 /media 用於可移動媒體的任何混淆。
至於權限,我會使用一個名為 windows 的群組
groupadd -g 1001 Windows
並透過以下選項為其授予您想要的權限:
gid=1001,umask=022
如果你想使用cp並保持權限不同檔案系統之間將 cp 與 -p 或 -a 標誌一起使用。
答案3
使用掛載選項uid
、gid
、 ,fmask
您dmask
可以讓您的常規使用者帳戶和/或一組可以存取整個 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 無法存取的名稱的檔案。