Hängen Sie die NTFS-Partition beim Start mit einem Benutzer ohne Rootberechtigung als Eigentümer ein

27

Ich mounte gerade eine NTFS-Partition beim Start mit der folgenden Zeile in / etc / fstab:

/dev/sda3        /media/data           ntfs      nls=iso8859-1,umask=000

In meiner Ubuntu 11.10-Installation sieht es so aus, als ob alle Dateien und Ordner Eigentum von sind root- und da NTFS ohnehin nicht wirklich dasselbe Rechteverwaltungssystem unterstützt, kann ich es nach Abschluss der Bereitstellung nicht mehr ändern. Egal was ich tue, ls -lüberall auf der NTFS-Partition werden alle Dateien und Ordner als Eigentum von aufgelistet root:root.

Dies verursacht jedoch einige Probleme für mich. Insbesondere tomasbeschweren sich einige Anwendungen, die unter meinem Konto (genannt ) ausgeführt werden, über Zugriffsrechte. Wenn ich versuche, Dateien von einer meiner ext3-Partitionen auf die NTFS-Partition zu kopieren ( cp) oder zu verschieben ( mv), erhalte ich die Fehlermeldung

mv: preserving times for `[path to new file]`: Operation not permitted

oder ähnlich

mv: preserving permissions for ...

Würde das Mounten der Partition in meinem Namen anstelle von root helfen? Wenn ja, wie mache ich das in fstab?


Aktualisieren:

Ich habe nun die Optionen entsprechend den Vorschlägen geändert und bin zu folgendem Ergebnis gekommen:

nls=iso8859-1,permissions,users,umask=000,uid=tomas,gid=tomas

ls -lJetzt werden alle Dateien angezeigt, die sich im Besitz von mir und nicht von root befinden, und es scheint, dass einige der Probleme, die ich zuvor hatte, gelöst sind. Allerdings nicht alle.

Wenn ich Eclipse starte, erhalte ich die Fehlermeldung, dass eine Datei im Zusammenhang mit dem Android-SDK nicht ausgeführt werden kann: Berechtigung verweigert. ls -lsagt mir folgendes über die datei:

-rwxrwxrwx 1 tomas tomas 159620 2011-11-29 14:50 adb*

Das sieht so aus, wie ich es will. Aber wenn ich versuche, es ( ./adbin einem Terminal) auszuführen, erhalte ich auch Fehler, denen die Erlaubnis verweigert wurde. Aber wenn ich es mit sudostarte, funktioniert es (ich glaube - zumindest gibt es mir keine Fehlermeldung, aber es gibt mir überhaupt keine Ausgabe, was ich denke, dass es nicht sollte ...)

Warum kann die obige Datei mit Ausführungsberechtigungen für andere Benutzer immer noch nicht von anderen Benutzern ausgeführt werden root? Wie ändere ich die Art und Weise, wie ich das Dateisystem einhänge?


Update 2:

OK, ich bin jetzt ein bisschen weiter gekommen. Durch die Montage mit diesen Optionen

nls=iso8859-1,permissions,users,auto

Ich habe alle Rechte , um den Weg stelle ich ihnen zu erwarten, und chownund chmodtatsächlich Einstellungen ändern auf die Dateien (zumindest nach ls -l) = D

ABER mein System verhält sich immer noch komisch. Die Berechtigungen für die adbSkriptdatei lauten wie oben, aber weder ich noch Eclipse können sie ausführen, ohne dass die Fehlermeldung "Berechtigung verweigert" angezeigt wird. Aber soweit ich sehen kann, sind in der Datei alle erforderlichen Flags gesetzt ( o=rwxsollte reichen, oder?). Warum funktioniert es nicht?


Update 3

OK, ich habe alles auf der Ubuntu-Seite zum Laufen gebracht, mit den folgenden Optionen:

nls=iso8859-1,permissions,users,auto,exec

Wenn ich jedoch versuche, von Windows aus auf Dateien auf der Partition zuzugreifen, sind alle Sicherheitseinstellungen durcheinander. Für alle Dateien (von den wenigen, die ich untersucht habe) wurde Account Unknown(long GUID)der Liste der Benutzer ein neues Konto mit dem Namen hinzugefügt, das über die vollständigen Rechte verfügt. Die Rechte für die meisten anderen Benutzer sind verringert, so dass ich keine Rechte mehr habe, um Dinge zu tun, die ich erwarte. Insbesondere scheint "Jeder" kein Recht mehr zu haben, "Ordner zu durchsuchen / auszuführen".

Dies könnte auflösbar sein , indem nur die Partition auswählen und damit jeder etwas für den Stammordner zu tun, und es dann sagen , es rekursiv zu tun, aber ich möchte lieber nicht , wie ich fürchte , es wird Tage dauern ...

Tomas Aschan
quelle
2
Von Halterung (8) : users Allow every user to mount and unmount the filesystem. This option implies the options noexec, ... unless overridden by subsequent options, as in the option line users,exec,dev,suid). Ergänzen Sie also execIhre Optionen, und ich bin der Meinung, dass das Problem mit der Verweigerung der Berechtigung zur Ausführung behoben werden sollte.
Benwh
Haben Sie dies nach Update 3 jemals behoben? ... Ich habe irgendwann versucht, eine Rsync-Sicherung meines Linux-Systems auf ein zusätzliches NTFS-Laufwerk zu erstellen, bin aber nach langem Suchen zu dem Schluss gekommen, dass ich nie alle Informationen zum Linux-Dateisystem speichern konnte auf ein ntfs fs. (Nun, vielleicht könnte ich näher herangehen, wie Sie es oben getan haben, aber am Ende passt Linux nicht sehr gut zu ntfs.)
Elliptische Ansicht
@Elipticalview: Das ist lange her und ich habe nicht mehr den gleichen Computer. Haben Sie die akzeptierte Antwort ausprobiert?
Tomas Aschan

Antworten:

24

In der Optionsspalte hinzufügen permissionsund auto(und wahrscheinlich useroder users)

nls=iso8859-1,permissions,users,auto
  • permissions: (Option NTFS-3G) Legen Sie Standardberechtigungen für erstellte Dateien fest und verwenden Sie die Standardzugriffskontrolle.
  • auto: Wird beim Booten und von montiert mount -a
  • user: Erlaubt einem normalen Benutzer das Mounten des Dateisystems
  • users: Jeder Benutzer darf das Dateisystem aktivieren und deaktivieren

Dann ändern Sie den Besitz des Dateisystems:

sudo chown -R thomas:thomas /media/data 

Meine Linie in /etc/fstab

/dev/sda5 /media/ntfs ntfs-3g users,permissions,auto 0 0

Bereitstellen und Auflisten von Berechtigungen

sudo mount /media/ntfs
Using default user mapping

bodhi@ufbt:~$ ls -l /media

drwxr-xr-x 1 root root 4096 2012-01-04 17:08 ntfs

Ändern Sie den Besitzer und listen Sie neue Berechtigungen auf

bodhi@ufbt:~$ sudo chown bodhi:bodhi /media/ntfs

bodhi@ufbt:~$ ls -l /media

drwxr-xr-x 1 bodhi bodhi 4096 2012-01-04 17:10 ntfs

Standardmäßig hängt ntfs-3g die Partitionen noexec, nosuid und nodev ein.

  • noexec: Lassen Sie die direkte Ausführung von Binärdateien auf dem bereitgestellten Dateisystem nicht zu.
  • nosuid: Lassen Sie keine Set-User-Identifier- oder Set-Group-Identifier-Bits wirksam werden.
  • nodev: Interpretieren oder blockieren Sie keine speziellen Geräte im Dateisystem.

Verwenden Sie, um dies zu überschreiben und die Ausführung von Dateien zuzulassen exec

/dev/sda5 /media/ntfs ntfs-3g exec,permissions,auto 0 0

Jetzt bekommen wir

bodhi@ufbt:~$ ls -l /media/ntfs

-rwx------ 1 bodhi bodhi 28 2012-01-04 17:16 file

bodhi@ufbt:~$ /media/ntfs/file
It works
Panther
quelle
Hm ... nachdem ich das zu fstab hinzugefügt habe (mache in der Optionsspalte folgendes:) und neu gestartet nls=iso8859-1,permissions,users,umask=000habe, kann ich jetzt Dateien ohne Fehlermeldungen verschieben und kopieren. Alle Dateien werden root:rootjedoch auch nachher als Eigentum von angezeigt sudo chown -R tomas:tomas /media/data. Es scheint vorerst kein Problem zu sein, aber aus Neugier: Warum ist das so?
Tomas Aschan
Ich denke wegen dirumask=000
Panther
Nein, umask=000entspricht chmod 777- umask definiert alle Flags, die Sie für die Dateien nicht festlegen möchten. Ich bin damit einverstanden, dass es nicht intuitiv ist
Tomas Aschan
Ich habe meine Frage mit weiteren Informationen zu meinen Versuchen und den Ergebnissen aktualisiert.
Tomas Aschan
1
Hm ... das muss ich
Tomas Aschan
2

Verwenden Sie die Optionen uidund gid(oder die Benutzerzuordnungsfunktion) von mount.ntfs (8).

Tumbleweed
quelle
1
Mit anderen Worten, füge uid = whoever zur fstab-Zeile hinzu
psusi
uidund gidarbeiten, aber Berechtigungen werden jetzt in ntfs-3g unterstützt, und diese Optionen überschreiben die permissionsOption. Siehe: b.andre.pagesperso-orange.fr/permissions.html
Panther
Ich habe meine Frage mit weiteren Informationen zu dem, was ich ausprobiert habe und den Ergebnissen, die ich erzielt habe, aktualisiert. Bitte werfen Sie einen Blick =)
Tomas Aschan
Können Sie Ihren fstab-Eintrag aktualisieren und Ihre uid, gid und umask entfernen, indem Sie nls=iso8859-1,permissions,usersdie Partition einfach aushängen und erneut einhängen.
Panther
@ bodhi.zazen: Dann sind wir zurück auf Platz eins. Dateien werden als Eigentum von root:rootangezeigt und Eclipse beschwert sich über Berechtigungen.
Tomas Aschan
2

Meins funktioniert jetzt perfekt, wenn ich die Zeile der Fstab auf ändere

UUID=761C84B31C846FC3 /media/d        ntfs    defaults,umask=022,uid=1000 0       0
e01
quelle
1

Was ist mit udisks? Es kann problemlos NTFS-Partitionen mit Ihrem Benutzer als Eigentümer mounten.

Beispiel (in die Befehlszeile eingeben):

/usr/bin/udisks --mount /dev/sda3

Sie können diesen Befehl auch zu Startanwendungen hinzufügen. Er wird automatisch bereitgestellt, wenn Sie sich anmelden.

Referenz: AutomaticallyMountPartitions

amfcosta
quelle