Bewährte Methode zum Mounten einer Windows-Partition

13

Ich führe einen Dual-Boot von Windows und Debian auf meinem Laptop aus. Ich benutze meistens Linux, aber von Zeit zu Zeit muss ich auf meine Dateien in meiner Windows-Partition zugreifen. Meine Windows-Partition wird beim Start wie folgt eingehängt.

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

Grundsätzlich gehört jede Datei in der Windows-Partition root: root und hat die Berechtigung 777. Immer wenn ich eine Datei in meine Arbeitspartition (Linux) verschiebe, habe ich eine 777-Datei unter meiner Partition, die mir gehört (während cp in terminal eine 755-Datei ausgibt, aber wenn dies über gnome erfolgt, wird die Datei mit einer 777-Berechtigung gespeichert). .

Ist dies die beste Methode zum Mounten einer Partition? Oder sollte ich es so mounten, dass ich anstelle von root der Besitzer aller Dateien / Verzeichnisse bin und irgendwie alle Verzeichnisse auf 755 und Dateien auf 644 setzen kann, wenn das Mounten beim Booten erfolgt? Wenn ja, wie geht das?

albertma789
quelle
2
kleiner Leckerbissen (uooc ...):grep Win7 /etc/fstab
Olivier Dulac

Antworten:

17

Sie können options * verwenden fmaskund dmaskeinhängen , um die Berechtigungszuordnung auf einem ntfs-Dateisystem zu ändern.

Verwenden Sie, um Dateien rw-r--r--(644) und Verzeichnisse rwxr-xr-x(755) anzuzeigen fmask=0133,dmask=0022. Sie können dies mit uid=und gid=Optionen kombinieren , um den Dateieigentümer und die Gruppe auszuwählen, wenn Sie Schreibzugriff für Ihren Benutzer benötigen.

* fmaskund dmaskscheinen auch für den Kernel-Treiber (schreibgeschützt) zu funktionieren, auch wenn sie nicht in der Mount-Manpage dokumentiert sind . Dies sind dokumentierte Optionen für ntfs-3g.

sebasth
quelle
Mein Standard umask ist schon 0022. Aber wenn ich eine Datei mit dem Terminal von Win7 zu mir nach Hause mv die Datei ist immer noch 777.
albertma789
2
Die fmask und dmask in der Antwort sind Mount-Optionen . Wenn Sie sie in fstab ändern und das Dateisystem erneut bereitstellen, werden die Dateien / Verzeichnisse in Ihrem Windows-Dateisystem mit 644/755 Berechtigungen anstelle von 777/777 angezeigt.
22.
5
LABEL=Windows7_OS /media/Win7 auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=Windows,uid=1000,gid=1000,fmask=0133,dmask=0022 0 0klappt wunderbar. Genau das was ich brauchte!
Albertma789
Ist es möglich, solche Standardeinstellungen für bestimmte Dateisysteme (FAT32 / NTFS) anstatt für bestimmte Laufwerke festzulegen? Es wäre schön, dies zur Verfügung zu haben, wenn Sie Flash-Laufwerke und andere Wechselmedien verwenden.
JAB
1
@JAB siehe Wie werden Standardberechtigungen für automatisch gemountete FAT-Laufwerke in Ubuntu 9.10 festgelegt? auf Superuser.
22.
7

Zuallererst ist dies nicht, wie Sie / mnt verwenden sollten. Das ist für administrative Aufgaben in einem Dateisystem vorübergehend nicht jeder Systemstart.

Da die Windows-Partition keinen Teil des laufenden Linux-Systems ausmacht, ist es sinnvoll, sie unter / media zu mounten. Sie können es auch unter root / as / Windows einbinden, um Verwechslungen mit / media für Wechselmedien zu vermeiden.

Als Berechtigungen würde ich eine Gruppe namens Windows verwenden

groupadd -g 1001 Windows

und geben Sie ihm die gewünschten Berechtigungen mit Optionen wie:

gid=1001,umask=022

Wenn Sie cp verwenden und Berechtigungen zwischen verschiedenen Dateisystemen verwalten möchten, verwenden Sie cp mit dem Flag -p oder -a.

jdwolf
quelle
Mein Standard umask ist schon 0022. Aber wenn ich eine Datei mit dem Terminal von Win7 zu mir nach Hause verschiebe, ist die Datei immer noch 777. Mount to / media ist stattdessen ein großartiger Vorschlag!
albertma789
Beim Kopieren von Dateien zwischen Dateisystemen werden die Standardberechtigungen für dieses Dateisystem verwendet, sofern Sie diese nicht beibehalten. Siehe meine aktualisierte Antwort.
JDWOLF
Ich bin damit einverstanden, dass dies /mntnicht optimal für den Einhängepunkt /mediaist, sondern für Wechselmedien (z. B. DVDs und USB-Laufwerke). Ich bin nicht sicher, ob es eine gute Antwort gibt, wo das Mount stattfinden soll: unix.stackexchange.com/questions/29134/…
StrongBad
@StrongBad Der Dateisystem-Hierarchie-Standard ist insbesondere bei Verzeichnissen, die älter als Unix sind, nicht so Standard. Zum Beispiel spiegelt der FHS 2.3 nicht die aktuellen Praktiken von / run wider. Schauen Sie sich die FHS 3.0- Datei refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s11.html an, die außerdem anzeigt, dass Sie / mnt dafür nicht verwenden sollten, aber die Erklärung ist viel klarer als "Windows ist technisch gesehen kein Wechselmedium" dass es nichts Falsches gibt, wenn Sie Ihr eigenes Verzeichnis unter / root mounten.
JDWOLF
4

Mit den Mount - Optionen uid, gid, fmaskund dmaskSie können die gesamte NTFS - Dateisystem zu Ihrem normalen Benutzerkonto und / oder eine Gruppe zugänglich machen. Aber das ist alles oder nichts: Für das NTFS-Dateisystem ist es so, als würde man unter Windows ständig als Administrator oder unter Linux als Root ausgeführt. Der ntfs-3gNTFS-Dateisystemtreiber kann das besser.

Wenn Sie verwenden ntfs-3g, können Sie mit dem ntfsusermapBefehl eine Benutzerzuordnungsdatei für Ihre NTFS-Dateisysteme erstellen. Der Befehl hilft Ihnen bei der Identifizierung der Windows-Benutzernamen und der entsprechenden Windows-SIDs und deren Zuordnung zu Linux-Benutzer- und -Gruppen-IDs.

Auf diese Weise können Sie die SID Ihres Windows-Benutzerkontos mit Ihrer Linux-UID verknüpfen. Auf diese Weise können Sie, sobald Sie das NTFS-Dateisystem mit der Benutzerzuordnungsdatei bereitgestellt haben, mit <NTFS filesystem root>/.NTFS-3G/UserMappingIhrem regulären Linux-Benutzerkonto genau so auf das NTFS-Dateisystem zugreifen, wie es mit Ihrem Windows-Benutzerkonto möglich wäre. Für Dinge, die Sie unter Windows Administratorrechte benötigen, benötigen Sie weiterhin root unter Linux.

Auf diese Weise erhalten Sie bequemen Zugriff auf Ihre Dateien auf der Windows-Partition, können Ihr \WindowsVerzeichnis jedoch nicht durch einen falsch eingegebenen Befehl verfälschen, es sei denn, Sie werden als Root ausgeführt.

Möglicherweise möchten Sie auch die windows_namesMount-Option auf den NTFS-Partitionen verwenden, um zu verhindern, dass Sie versehentlich Dateien mit Namen erstellen, auf die Windows nicht zugreifen kann.

telcoM
quelle