it-swarm.com.de

Mounten eines Windows-Ordners mit Schreibrechten in Ubuntu

Anscheinend ist die Antwort hier: https://superuser.com/questions/251537/mount-specific-ntfs-directory-on-linux aber es funktioniert nicht wie erwartet.

Ich habe ein Dual-Boot-System mit Windows 7 und Ubuntu 13.04 (von 12.10 aktualisiert) und möchte auf meine persönlichen Windows 7-Ordner sowohl zum Lesen als auch zum Schreiben zugreifen. Ich habe die Anweisungen gemäß dem angegebenen Link befolgt und meine /etc/fstab -Datei sieht folgendermaßen aus:

/dev/sda1 /media/windows ntfs ro,umask=0222,defaults 0 0
/media/windows/Users/MyUser/    /home/myuser/Windows    ntfs-3g rbind,user,umask=0222,defaults 0 0
/media/windows/Users/OtherUser/ /home/otheruser/Windows ntfs-3g rbind,user,umask=0222,defaults 0 0

Es funktioniert fast wie erwartet. Meine Windows-Partition befindet sich auf /media/windows/ und ist schreibgeschützt. Mein persönlicher Windows-Ordner befindet sich in ~/Windows. Dieser persönliche Ordner ist jedoch auch schreibgeschützt.

Hinweis: Ich konfiguriere dies in einer Multisession-Umgebung. Daher muss dies für meine Sitzung und für die Sitzungen anderer Benutzer funktionieren. Ich brauche, dass jeder Benutzer von Linux aus auf seine Windows-Ordner zugreifen und diese schreiben und lesen kann.

Die oben verlinkte Superuser-Frage bezieht sich auf das Mounten von Partition und Unterverzeichnis im Modus read only. Sie benötigen nur das Unterverzeichnis (persönlicher Ordner) zum Lesen und Schreiben.

Überprüfen Sie zunächst, ob Ihr System ntfs Partitionen im Lese-/Schreibmodus bereitstellen kann

mount -t ntfs-3g  -o rw /dev/sda1 /media/windows

Testen Sie nun, ob die gemountete fs beschreibbar ist. Wenn nicht, hören Sie hier auf und stellen Sie eine andere Frage auf dieser Seite.

Das Problem ist, dass das Unterverzeichnis einer RO gemounteten Partition nicht in RW sein kann. Die Lösung besteht also darin, die Windows-Partition in RW an einem verborgenen und unzugänglichen Ort anzubringen. Lassen Sie es uns also auf / root/win mounten, das für Nicht-Root-Benutzer unzugänglich ist (ohne Sudo)

Als root Benutzer folge
Schritte
1. Hängen Sie die Windows-Partition in RW ein

mount -t ntfs-3g -o rw /dev/sda1 /root/win  

2. Binde es

mount --bind /root/win/Users/MyUser/  /home/myuser/Windows  

3. Binden Sie eine schreibgeschützte Instanz der Windows-Partition

mount --bind /root/win /media/windows  
mount -o remount,ro /media/windows

Jetzt sollte alles in Ordnung sein. Zusätzlich können Sie die Windows-Partition aushängen, aber ich warne Sie in einigen Systemen, dass dies den Zugriff auf die gebundene Partition (@home) unmöglich machen wird. Der Code ist umount /root/win

Alternativ können Sie die Windows-Partition in RW unter / media/windows (anstelle von/root/win) einhängen und sie sofort am gleichen Einhängepunkt (/ media/windows) einbinden, sodass niemand ( Sogar root) kann auf die Partition schreiben (aber auf den Benutzerordner).

6
totti

Ich bezweifle, dass die verknüpfte Superuser-Antwort funktioniert. (Kann ich aber nicht probieren.) Von man mount:

Beachten Sie, dass die Mount-Optionen für das Dateisystem dieselben bleiben wie für den ursprünglichen Mount-Punkt und nicht geändert werden können, indem Sie die Option -o zusammen mit --bind/- rbind übergeben. Die Mount-Optionen können durch einen separaten Remount-Befehl geändert werden. Beispiel:

mount --bind olddir newdir
mount -o remount,ro newdir

Ich bezweifle auch, dass es möglich ist, einen Teil eines Dateisystems mit einem anderen Dateisystemtreiber (ntfs vs ntfs-3g) zu --rbind.

Wenn Sie rbind den Befehl mount ignorieren, wird nichts schreibgeschützt. Und da der ntfs-Treiber des Kernels keine Schreibvorgänge unterstützt, hilft natürlich auch die Option rw nicht weiter. Verwenden Sie den Treiber ntfs-3g.

Grundsätzlich sollten Sie Folgendes tun (in einem Terminal):

mount -t ntfs-3g -o ro /dev/sda1 /media/windows
mount --bind /media/windows/Users/MyUser/    /home/myuser/Windows
mount -o remount,rw /home/myuser/Windows

(Ich denke, dass --rbind auch unnötig ist, --bind sollte ausreichen.)

Und zu dem Kommentar unter der Frage: Natürlich müssen Sie das System zum Testen nicht neu starten. Verwenden Sie einfach den Befehl mount, wie oben beschrieben. (Und heben Sie die Bereitstellung mit dem Befehl umount auf.)

Nachdem Sie bestätigt haben, dass dies wie beabsichtigt funktioniert, ändern Sie einfach den Mount und fügen die gewünschten Optionen hinzu: uid, gid, umask usw.

5
falconer

Mal sehen, ob das hilft ...

Wenn sda1 bereits in /media/windows eingebunden ist, können Sie die Einbindung wie folgt aufheben:

Sudo umount /media/windows

Als nächstes erstellen Sie das Verzeichnis windows in /media/:

Sudo mkdir /media/windows

Bearbeiten Sie den /etc/fstab wie folgt:

/dev/sda1  /media/windows ntfs-3g  rw,nodev,noexec,auto,nouser,async,locale=en_US.utf8,uid=1000,gid=1000,umask=0002 0 0

/media/windows/Users/MyUser/  /home/myuser/Windows  ntfs-3g rbind,user,rw,nodev,noexec,auto,async,uid=1000,gid=1000,umask=0002 0 0

/media/windows/Users/OtherUser/  /home/otheruser/Windows  rbind,user,rw,nodev,noexec,auto,async,uid=1001,gid=1001,umask=0002 0 0

(Anmerkung: ändere uid und gid Werte wie für den Benutzer. Um die UID und GID eines Benutzers zu erhalten, können Sie den Befehl id -u username und id -g username bzw.) verwenden.

Jetzt können Sie diese mit dem Befehl einhängen:

Sudo mount -a

Wechseln Sie nun in die neu gebundenen Verzeichnisse und prüfen Sie, ob Sie die Datei bearbeiten können. Und du solltest fertig sein.

3
precise

Führen Sie alle Tests durch, bevor Sie Ihre fstab-Konfigurationsdatei bearbeiten.

Nun, Sie wissen wahrscheinlich, dass das ntfs-Dateisystem automatisch schreibgeschützt gemountet wird, wenn das Dateisystem als fehlerhaft markiert ist. Bevor Sie eine der Antworten versuchen, müssen Sie zuerst die Festplatte in Windows mounten und chkdsk ausführen, bevor Sie versuchen, sie erneut zu mounten.

Wenn das Mounten in rw weiterhin fehlschlägt, sollten Sie versuchen, das Mounten mit verschiedenen Mount-Optionen wie Sudo mount -t ntfs oder Sudo mount -t ntfs-3g durchzuführen.

Sobald fs in rw gemountet ist, können Sie Folgendes tun:

mount --bind /media/MOUNTPOINT/TARGETFOLDER /home/SHAREDDIRECTORY/mount -o remount,ro /home/SHAREDDIRECTORY/

oder

Sudo gksu nautilus oder Sudo gksu dolphin, um einen Explorer mit su-Rechten zu öffnen

3
yilmi

Warum nicht versuchen, es mit Lese- und Schreibattribut zu mounten: rw?

/ dev/sda1/media/windows ntfs rw, umask = 0222, Standard 0 0

2
user189541

Ich bin mir jedoch nicht ganz sicher, können Sie das bitte versuchen. Geben Sie nach dem Mounten des Laufwerks den folgenden Befehl am Terminal ein

Sudo gksu nautilus

geben Sie Ihr Administratorkennwort ein. In dem sich öffnenden Grafikfenster sollten Sie auf das Laufwerk klicken und die Lese-/Schreibberechtigungen ändern können.

Lassen Sie mich wissen, ob das funktioniert. Für die Verwendung von Nautilus mit grafischer Oberfläche mit Root-Rechten steht Hilfe zur Verfügung.

2
KSR

Ich würde die Verwendung von Sudo chmod.666 ~/Windows empfehlen

https://help.ubuntu.com/community/FilePermissions

1
user1553176

Der einfachste Weg, Windows als Lese-/Schreibzugriff zu aktivieren, besteht darin, es einfach neu zu starten oder es vollständig herunterzufahren. Die NTFS-Partition wird in den Ruhezustand versetzt , wenn "schnelles Herunterfahren" verwendet wird. Dieses Prinzip wird unter this link. ausführlicher behandelt

0
user728899