Wie kann ich eine NTFS-Partition korrekt in / etc / fstab einhängen?


72

Nach einer fiesen Episode (meine zweite, wie ich wahrscheinlich erfahren würde), die durch unbeaufsichtigte automatische Podcast-Downloads verursacht wurde, die meine gesamte Partition füllten, bin ich endlich ~/Musicauf eine eigene Partition umgezogen . Die Partition, die ich verwende, war bereits mit NTFS formatiert (das ist der geniale Teil: Als ich diesen Computer vor drei Jahren bekam, habe ich ihn tatsächlich mit einer 20G-Musikpartition eingerichtet, genau weil ich dieses Problem zuvor hatte, aber ich habe es nie getan Ich habe mich organisiert, um Musik darauf zu speichern. Das ist also meine Hintergrundgeschichte. Folgendes brauche ich jetzt:

Ich habe zwei Partitionen, die ich beim Start einbinden möchte:

/dev/sda3   /mnt/devel  ext4    defaults    0   2
/dev/sda2   /mnt/excess ntfs    defaults    0   2

Die ext4-Partition wird in Ordnung gemountet (im Besitz von mir, nur von mir beschreibbar), die ntfs-Mounts von root jedoch mit Lese- und Schreibberechtigung für alle. Ich bin mir nicht sicher, wie ich das beheben soll. Hat ntfs etwas Skurriles an sich oder habe ich etwas anderes gemacht, das dieses Problem verursacht?

drwxr-xr-x  7 amanda amanda 4096 2012-03-14 19:07 devel
drwxrwxrwx  1 root   root   4096 2012-03-14 22:38 excess

Die Optionen "noatime" oder "relatime" sind verfügbar und werden für die permanente NTFS-Bereitstellung empfohlen (siehe man mount.ntfs). Ich hatte einige Probleme mit der Festplattenauslastung mit ext3 / 4 und ntfs!

Antworten:


89

Berechtigungen für ntfs und vfat - Dateisysteme müssen mit den festgelegt werden dmask, fmaskund umaskOptionen. dmaskSteuert die Berechtigungen für Verzeichnisse, fmaskdie Berechtigungen für Dateien und umaskbeides. Da diese Optionen Masken festlegen , sollten sie die Ergänzung der gewünschten Berechtigungen sein. Beispielsweise ist rwx für den Eigentümer und rx für andere 022 anstelle von 755.

Verwenden Sie zum Festlegen des Besitzers die Optionen uidund gidfür Benutzer bzw. Gruppe. Sie finden Ihre UID mit dem Befehl id -u. Verwenden Sie, um Ihre GID zu finden id -g. Diese Werte sind normalerweise beide 1000.

Ein häufiger Satz von Mount-Optionen für ntfs ist uid=1000,gid=1000,dmask=027,fmask=137. Dies legt Sie als Eigentümer des Laufwerks fest und legt die Berechtigungen auf fest drwxr-x---.

Hier sind zwei Zeilen aus meiner / etc / fstab

UUID=EEA2B69CA2B668AB        /WIN_C     ntfs-3g   defaults,nls=utf8,umask=000,dmask=027,fmask=137,uid=1000,gid=1000,windows_names 0 0 
UUID=65AEC0E830EA0497        /WIN_D     ntfs-3g   rw 0 0

Wenn nach dem Neustart kein sichtbarer Fehler auftritt und die Partitionen schreibgeschützt bleiben oder eine Fehlermeldung ähnlich der folgenden angezeigt wird:

Error mounting /dev/sda6 at /media/WindowsDrive: 
Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sda6" "/media/rolindroy/Media Center"' exited with non-zero exit status 14: The disk contains an unclean file system (0, 0). 
Metadata kept in Windows cache, refused to mount. 
Failed to mount '/dev/sda6': Operation not permitted The NTFS partition is in an unsafe state. 
Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount the volume read-only with the 'ro' mount option

Dies liegt daran, dass Windows 8 und 10 die Option "Schnellstart" bieten, die von einem "nicht vollständigen" Herunterfahren abhängt. Sie können den Schnellstart deaktivieren, indem Sie die folgenden Schritte unter "Energieoptionen" ausführen.



Das ist in der Tat die Quelle vieler der oben genannten Dinge. Ich habe auch einige detailliertere Erklärungen beigefügt, wie die * mask-Optionen funktionieren.
Bessman

3
Könnten Sie möglicherweise ein vollständigeres Beispiel angeben, das die Optionen zeigt, die in einer Zeile vom/etc/fstab
puk

3
@puk habe ich UUID=3030BD846F74E514 /media/iam/ntfspartition ntfs-3g uid=1000,gid=1000,dmask=022,fmask=133 0 0, wie ich unter askubuntu.com/a/507326/221448 aufgenommen habe (wo ich auch erwähne bind).
Brady Trainor

1
@ScottFuid=0,gid=0
wjandrea

34

Wenn Sie die ntfs-Partition mit der Berechtigungsoption mounten, funktioniert chmod / chown

/dev/sda2   /mnt/excess ntfs-3g    permissions,locale=en_US.utf8    0   2

Sie können dann

sudo chown your_user:your_user /mnt/excess

Einfacher als uid, dmask, fmask.


Irgendwelche Nachteile dieses sudo chownBefehls? Was genau macht es?
ReneSac

5
Mit dem Befehl chown wird der Eigentümer des Einhängepunkts (/ mnt / excess) in den gewünschten Benutzer geändert. Dieser Schritt muss nach meiner Erfahrung jedes Mal wiederholt werden, wenn die Partition gemountet wird (zumindest nach jedem Neustart) optional - wie wenn Sie unterschiedliche Berechtigungen für Dateien und Verzeichnisse wollten.
Thecarpy

7

Ich hatte einige Probleme damit, weil sich der Name der Festplatte beim Neustart ändert ... ( sda0 zu sdb2 )

Ich habe das Problem behoben, indem ich sie über die UUID in die fstab gemountet habe. Sie können die UUID für Ihre Festplatten anzeigen, indem Sie Folgendes eingeben: sudo blkid

Erstellen Sie eine Sicherungskopie Ihrer fstab-Datei:

sudo cp /etc/fstab /etc/fstab.orig

Stellen Sie sicher, dass Sie das >> trippeln, wenn Sie ein> platzieren, überschreiben Sie Ihre fstab!

sudo blkid >> /etc/fstab

Wenn du es immer noch vermasselt hast, kannst du deine fstab durch das Original ersetzen:

sudo cp /etc/fstab.orig /etc/fstab

Als nächstes mache einen Ordner:

sudo mkdir /media/mydrivename

Konfigurieren Sie die fstab:

sudo vim /etc/fstab

Vergessen Sie nicht, die Ausgabe von blkid mit einem '#' am Zeilenanfang zu kommentieren!

Fügen Sie dies der fstab-Datei hinzu. Sie finden die UUID in dem Block unten, den Sie mit dem obigen Befehl eingefügt haben. media / mydrivename ist der Ort, an dem die Partition gemountet werden soll.

UUID=xxxxxxxxxxxxxxxxx   /media/mydrivename ntfs    permissions,locale=en_US.utf8    0   2

Dies ist meine fstab-Datei:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=5d4940cf-5cf5-443a-be11-1f7e551962d1 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda1 during installation
UUID=84b7e5e9-08c3-4641-b28b-99e0255e604d none            swap    sw              0       0

# 500 GB Webserver harddisk from lr-serv-01
UUID=BA9A48D39A488E37 /media/hdd1 ntfs permissions,locale=en_US.utf8 0 2

# 2 TB Movie share harddisk from lr-serv-01
UUID=7EB09666B09624A5 /media/hdd2 ntfs permissions,locale-en_US.utf8 0 2

#/dev/sda1: UUID="10EC004DEC003010" TYPE="ntfs" 
#/dev/sda2: LABEL="system" UUID="88A4FE47A4FE3772" TYPE="ntfs" 
#/dev/sda3: LABEL="storage_01" UUID="BA9A48D39A488E37" TYPE="ntfs" 
#/dev/sdb1: LABEL="storage_02" UUID="7EB09666B09624A5" TYPE="ntfs" 
#/dev/sdc1: UUID="84b7e5e9-08c3-4641-b28b-99e0255e604d" TYPE="swap" 
#/dev/sdc2: UUID="5d4940cf-5cf5-443a-be11-1f7e551962d1" TYPE="ext4" 
#/dev/sdd1: LABEL="storage_spotnet" UUID="EC6E8F416E8F0394" TYPE="ntfs" 
#/dev/sdd2: LABEL="storage_backup_pcs" UUID="6C2699D026999BA0" TYPE="ntfs" 
#/dev/sdd5: LABEL="storage_series" UUID="7670ABF770ABBC6D" TYPE="ntfs" 
#/dev/sdd6: LABEL="storage_winmx" UUID="564AB81B4AB7F5B9" TYPE="ntfs" 

Starten Sie das System neu, indem Sie Folgendes eingeben:

sudo reboot

Um zu überprüfen, ob die Partition eingehängt ist, können Sie Folgendes eingeben df -k.

Gib dir das Eigentum:

sudo chown -R USERNAME:USERNAME /media/mydrivename

Hab das auf Ubuntu Server 14.04.01 gemacht !

Hoffe diese Antwort hilft jemandem ;-)


2
Dies klingt zwar nach allgemein soliden Ratschlägen, aber ich würde es eleganter finden, die UUID einfach von der Ausgabe zu kopieren, sudo blkidanstatt das Ganze zu sichern /etc/fstabund es vorübergehend zu beschädigen. Eine andere Möglichkeit wäre, die UUID aus dem Eigenschaftsdialog der Partition in GParted abzurufen.
David Foerster

Nun, da ich das auf meinem Server mache, sehe ich keine Möglichkeit, es zu kopieren ... Alles, was ich habe, ist eine Tastatur und eine Bash.
Rotgers

Die meisten Terminalemulatoren ermöglichen das Kopieren von Dingen (vorausgesetzt, Sie verwenden Remotezugriff oder einen Terminalemulator wie screenoder tmuxanstelle eines rohen virtuellen Terminals).
David Foerster

Schlechte Annahme, haha, ich habe keinen Terminalemulator verwendet. Ich habe meiner Antwort jedoch einiges hinzugefügt, um eine Kopie der fstab-Datei zu erstellen, falls jemand Fehler macht. :)
Rotgers

Ich habe von UUID zu LABEL gewechselt, weil sich aus irgendeinem Grund die UUID geändert hat, als ich eine Partition angepasst habe, die Bezeichnernamen jedoch nicht. Außerdem finde ich es einfacher zu sehen, was in fstab mit einem LABEL = "some-name" vor sich geht, als mit einer UUID = "long random string".
Elliptical View


4

Könnte keine gute Lösung sein, aber Sie können die Benutzer-ID immer Ihrer eigenen oder der Gruppen-ID zuordnen:

Nur ein Beispiel hier, meine Benutzer-ID war 1000

/dev/sda5 /mnt/excess ntfs defaults,uid=1000,rw 0 0

In diesem Fall haben alle bereitgestellten Dateien, deren Eigentümer der Benutzer ist, die ID 1000


1
Das funktioniert, aber mit oder ohne die "rw" -Option, es wird immer noch mit Berechtigungen gemountetdrwxrwxrwx
Amanda

Das funktioniert bei mir. Für die Berechtigungen habe ich fstab file_mode = 0770, dir_mode = 0770
Rui F Ribeiro

2

Beachten Sie, dass Folgendes gut funktioniert , wenn Sie Ihr NTFS-Laufwerk mit einem Label mounten und die Berechtigungen von Verzeichnissen oder Dateien auf diesem Laufwerk ändern möchten (bearbeiten Sie die Datei / etc / fstab, z. B. sudo nano / etc / fstab, und fügen Sie sie hinzu). :

LABEL=Portable_HD_2TB      /media/mintbox2/Portable_HD_2TB ntfs    permissions,defaults        0       2

Im Folgenden können Sie die Berechtigungen für Verzeichnisse oder Dateien NICHT ändern:

LABEL=Portable_HD_2TB      /media/mintbox2/Portable_HD_2TB ntfs    defaults        0       2

1

Ich verwende das Folgende, das ich richtig finde und das mir beim Einhängen Berechtigungen gibt (NTFS-Laufwerk aus einem Dual-Boot-System-Setup):

Bearbeiten /etc/fstab:

UUIDs finden Sie in /dev/disk/by-uuid/(normalerweise map to /dev/sd*)

Ersetzen Sie <your uuid>durch Ihre UUID

UUID=<your uuid> /mnt/e ntfs auto,users,uid=1000,gid=1000,dmask=027,fmask=137 0 0

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.