Wie teile ich einen Ordner auf einer NTFS-Partition über das Netzwerk?

16

Ich arbeite unter Ubuntu 11.10 und möchte einen Ordner auf einer automatisch gemounteten NTFS-Partition ( /dev/sda4) über das Netzwerk freigeben . Der Zweck dieses Netzwerks ist die gemeinsame Nutzung von Dateien zwischen Computern. Es enthält hauptsächlich Windows-Computer. Ich benutze diese /dev/sda4Partition sowohl unter Windows 7 als auch unter Ubuntu. Mit Nautilus klicke ich mit der rechten Maustaste auf das Verzeichnis, dann auf "Freigabeoptionen" und markiere die drei Kontrollkästchen. Wenn ich versuche, die Einstellungen zu übernehmen, wird angezeigt, dass die Rechte des Ordners "Ordnername" nicht geändert werden konnten.

Ich habe die Ausgabe von sudo blkidund cat /etc/fstabunten gesetzt.

sudo blkid

/dev/sda2: LABEL="Windows" UUID="481319C261268D8D" TYPE="ntfs" 
/dev/sda3: UUID="23dac5e8-aae7-43ac-964c-c8a5a033b0d7" TYPE="ext4" 
/dev/sda4: LABEL="Data" UUID="00F1B269675B86AE" TYPE="ntfs" 
/dev/sda5: UUID="6de8b757-f17e-4e36-935c-a3fd6012c628" TYPE="ext4" 
/dev/sda6: UUID="d504bae2-fad6-4f6a-b489-7719ad0fe3b3" TYPE="swap" 

cat /etc/fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda3 during installation
UUID=23dac5e8-aae7-43ac-964c-c8a5a033b0d7 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
UUID=d504bae2-fad6-4f6a-b489-7719ad0fe3b3 none            swap    sw              0       0
/dev/sda4 /media/Data ntfs defaults,umask=007,gid=46 0 0 

Wie kann ich diesen Ordner freigeben?

Beschleunigung-G
quelle
Wenn Sie "über das Netzwerk" sagen, was meinen Sie damit, welche Art von Computern werden dort sein? Windows? Dann brauchst du Samba, nur Linux? Dann wird NFS empfohlen ... Geben Sie uns weitere Informationen.
Bruno Pereira
1
Ich denke, Berechtigungen in fstabmuss geändert werden. Versuchen Sie dasselbe Verfahren mit dem Entfernen gid(vergessen Sie nicht, es erneut zu montieren) und teilen Sie uns mit, ob es geholfen hat.
Andrejs Cainikovs
Ich habe die Frage aktualisiert. Das Entfernen gidvon /etc/fstabMarken , die letzte Zeile wie folgt aussehen: /dev/sda4 /media/Data ntfs defaults,umask=007 0 0. /dev/sda4wird beim Start nicht gemountet, sudo mount /dev/sda4 /media/Datagibt folgende Ausgabe aus:Mount is denied because the NTFS volume is already exclusively opened. The volume may be already mounted, or another software may use it which could be identified for example by the help of the 'fuser' command.
Exeleration-G

Antworten:

14

Nach einigem Suchen habe ich die Lösung selbst gefunden:

Zuerst musste ich mir das Eigentum geben /dev/sda4, und ich musste die Erlaubnis geben groupund otherslesen und ausführen. Ich habe das getan, indem ich den Partitionseintrag in geändert habe /etc/fstab.

Dazu musste ich meine uidund kennen gid. Also habe ich als erstes den folgenden Befehl in ein Terminal geschrieben:

id $USER

Dies ergibt eine Ausgabe wie diese:

UID=1000(myname) GID=1000(myname) groups=1000(myname),4(adm),24(cdrom), ...

Jetzt wusste ich, dass ich uidund ich es gidwaren 1000.

Kennen Sie bereits den Namen der NTFS-Partition? Wenn nicht, geben Sie diesen Befehl in ein Terminal ein:

sudo blkid

und notieren Sie sich die NTFS-Partition auf einem Blatt Papier.

Um nun die Berechtigungen zu ändern, habe ich sie /etc/fstabmit dem nanoTexteditor bearbeitet . Der nächste Befehl, den Sie in ein Terminal eingeben müssen, lautet:

sudo nano /etc/fstab

Gehen Sie ganz nach unten und geben Sie diese Zeile ein:

/dev/sda4 /media/Data ntfs defaults,umask=0022,uid=YourUIDHere,gid=YourGIDHere 0 0

(Sie sollten /dev/sda4durch die NTFS-Partition ersetzen , die Sie zuvor notiert haben.)

Erläuterung: umask=0022setzt das Verzeichnisses des ( d) Berechtigungen Berechtigungen drwxr-xr-x, um sicherzustellen , dass der Benutzer (me) lesen, schreiben und ausführen ( rwx) , während das groupund otherskann nur lesen und ausführen ( r-x) , um das Verzeichnis, das ist das, was ich wollte.

Danach konnte ich die drei Kontrollkästchen ohne Fehler markieren, und der Ordner wurde über das Netzwerk freigegeben. Da ich nicht sicher war, ob die Freigabeeinstellungen nach einem Neustart beibehalten werden, deaktivierte ich die Kontrollkästchen und fügte /etc/samba/smb.confstattdessen einige Zeilen hinzu . Ich habe das so gemacht:

In einem Terminal habe ich getippt sudo nano /etc/samba/smb.conf

Ich habe bis zur letzten Zeile gescrollt und dort Folgendes eingefügt:

[MyShare]
    comment = My Share
    path = /media/Data/FolderToBeShared
    browseable = yes
    guest ok = yes
    read only = yes
    create mask = 0755

Ich habe die Datei gespeichert und dann neu gestartet. Der Ordner war jetzt über das Netzwerk erreichbar.

Beschleunigung-G
quelle
1
Brillant. Als absoluter Linux- / Ubuntu-Neuling habe ich 2 Tage lang meinen Kopf gegen die Wand geschlagen, denn wenn dies eine Windows-Maschine gewesen wäre, hätte ich es in 10 Minuten geschafft.
Patrick
Können Sie diese Antwort mit allen Befehlen bearbeiten, die Sie schreiben mussten? Ich bin mir nicht sicher, ob ich verstehe, was du mit "gib mir das Eigentum an /dev/sda4" meinst .
Enrique Moreno Tent
Klar, aber bitte geben Sie mir danach ein Update, ob die Anleitung für Sie funktioniert hat. Ich verwende keine NTFS-Partition mehr und kann daher nicht selbst prüfen.
Exeleration-G
0

Die einfachste Lösung, die ich mir vorstellen kann, ist die Verwendung eines Symlinks zur NTFS-Partition.

Wie ich das machen würde ist:

  • Erstellen Sie einen Ordner auf Ihrer Ubuntu-Partition, den Sie freigeben können.
  • Verknüpfen Sie den Ordner auf der Windows-Partition mit diesem Ordner:
    ln -s /path/to/folder/on/ntfs /path/to/new/location/linkname
  • Stellen Sie den von Ihnen erstellten übergeordneten Ordner so ein, dass er über das Netzwerk freigegeben wird, und wählen Sie die gewünschten zusätzlichen Optionen aus (z. B. Gast usw. zulassen).
  • Klicken Sie auf der Registerkarte "Berechtigungen" auf "Berechtigungen auf eingeschlossene Dateien anwenden". Natürlich wird nicht jede einzelne Berechtigung angewendet, aber ein Lesezugriff sollte ausreichen.

Ich habe das selbst nicht getestet, aber wenn ich das Teilen richtig verstehe, sollte es funktionieren.

RolandiXor
quelle
Das wäre ln -srichtig? Probieren Sie es jetzt aus.
Exeleration-G
@ Exeleration-G: yep sorry für den Tippfehler
RolandiXor
1
Das hat für mich allerdings nicht geklappt, danke.
Exeleration-G
0

Mounten Sie einfach das NTFS-Verzeichnis wie folgt:

-o uid=current_user,gid=current_usergroup

Ruft den aktuellen Benutzer und die aktuelle Benutzergruppe ab, wie in Exeleration-G angegeben:

id MyUserName
ashishsony
quelle