Lösen von Berechtigungsproblemen bei der Verwendung einer externen EXT4-Festplatte mit mehreren Linux-Installationen


18

Ich habe eine externe Festplatte und da ich nur Ubuntu und Fedora verwende, entscheide ich mich, meine Festplatte auf ext4 zu formatieren, alles ist in Ordnung.

Das Problem besteht darin, dass ich beim Aktivieren des Laufwerks die Berechtigung ändern muss, damit ich lesen und schreiben kann.

Welche Art von Erlaubnis sollte ich verwenden? Mein Benutzername?

Antworten:


5

Lahm wie es auch sein mag, ich werde die Frage mit einer anderen Frage beantworten müssen. Wenn wir nur von einem Betriebssystem sprechen, dann wäre es auch eines

sudo chown -R (user name) /dev/(device name)

( Ubuntu )

oder nur

chown -R (user name) /dev/(device name)

fedora - neinsudo, führe einfach den Befehl von root aus.

Der Nudel-Scratcher-Teil und der Teil, auf den ich keine guten Antworten habe, ist, wie man es macht, damit man nicht manuell tippen muss, wenn man zwischen Distributionen hin und her wechselt. Ich wäre fast versucht, die Zeile zu meiner hinzuzufügen ~/.bashrc, aber es gibt wahrscheinlich einen besseren Weg, den ich nicht kenne oder an den ich noch nicht gedacht habe.


Das ist, was ich tun muss, um die Erlaubnis jedes Mal zu ändern, wenn ich die Distribution ändere
Javier Gonzalez

1
Um meine eigene intellektuelle Neugier zu befriedigen, ging ich zurück und überprüfte noch einmal mit einem USB EXT4-Laufwerk, das ich besitze. Ich wusste nicht, ob das Übernehmen des Eigentums an dem Gerät dasselbe ist wie das Übernehmen des Eigentums an dem Dateisystem, und das ist es auch. Mit sudo chown -R (Benutzername) / dev / (Gerätename) erhalten Sie den Besitz aller Dateien auf dem Laufwerk, auch wenn Sie sie nicht erstellt haben.
user2367

Ja, es reicht nicht aus, die Zeile zu ~ / .bashrc hinzuzufügen, damit sie jedes Mal automatisch ausgeführt wird, wenn Sie terminal ausführen. Darauf habe ich keine Antwort. Könnte es vielleicht zu cron hinzufügen? Aber es scheint so, als ob es nur eine Möglichkeit geben sollte, es laufen zu lassen, wenn die Distribution hochfährt.
user2367

Ich liebe ext4 wirklich, aber es ist ein Mist, die Erlaubnis zu ändern haha
Javier Gonzalez

10

Die einfachste Lösung besteht darin, sicherzustellen, dass Ihre Ubuntu & Fedora-Benutzerkonten dieselbe Benutzer-ID (UID) haben.

Ich denke, Fedora startet Benutzerkonten standardmäßig mit 500, während Debian & Ubuntu sie mit 1000 startet. Daher ist es sehr wahrscheinlich, dass Sie auf einem Betriebssystem die Benutzernummer 500 und auf dem anderen die Benutzernummer 1000 haben. Das Dateisystem verwendet diese UID-Nummer Wenn Sie also sicherstellen, dass sie dieselbe UID haben, werden sie als derselbe Benutzer betrachtet, und es treten keine Berechtigungsprobleme auf.

Ich denke, das Beste, was Sie tun können, ist, beide UID = 1000 zu setzen. Ändern Sie daher die UID im Fedora-System und stellen Sie dann sicher, dass alle Dateien auf der externen Festplatte und im $ HOME des Benutzers in der Fedora-Installation im Besitz der UID 1000 sind dass Sie keine Berechtigungsprobleme mehr haben sollten.


Ja, ich werde das tun, danke für deine Zeit :)
Javier Gonzalez

1
Bitte lesen Sie auch meinen Zusatz oder der Fedora-Benutzer kann sich nicht einloggen!
8.

Alles ist klar, ich werde es jetzt testen. Auch danke für die Bearbeitung. Der Fragentitel ist jetzt sehr klar.
Javier Gonzalez

3

In / etc / fstab können Sie uid = 1000 (in Ubuntu - in Fedora 500) eingeben, damit das Laufwerk Ihrem Benutzer gehört (vorausgesetzt, Sie sind der erste Benutzer, yada yada yada ... wenn nicht, Ihr Benutzer uid from id) und umask = 000, wenn Sie möchten, dass alle Benutzer Zugriff haben (oder 077 für nur den von uid = angegebenen)

Weitere Informationen zur Verwendung von / etc / fstab finden Sie unter http://ubuntulinuxtipstricks.blogspot.com/2008/02/fun-with-etcfstab.html


1
Wenn ich die Erlaubnis auf 077 setze, muss ich die Erlaubnis nicht erneut ändern, wenn ich von Ubuntu zu Fedora wechsle?
Javier Gonzalez

@Dracirate: Ich denke, Sie brauchen möglicherweise 000 anstatt 077. Wenn Sie in jedem System (Ubuntu und Fedora) einen fstab-Eintrag für das Laufwerk eingeben, wird es automatisch gemountet, damit es verwendet werden kann.
Maco

3

Leider erzwingt der Linux-Kernel die POSIX-Berechtigung für ext2 / ext3 / ext4 FS.

Möglicherweise umgehen Sie die POSIX-Berechtigung mit der freigegebenen Gruppe. Ich stelle die entsprechende Frage: /unix/273144/predefined-group-ids-across-linux-distros/, habe aber nach eigenen Recherchen gesucht.

Ich entdecke, dass sys group die ID 3 unter Debian, Ubuntu, RedHat, Fedora, CentOS, Suse, FreeBSD, OpenBSD, NetBSD, MacOSX und Solaris teilt.

Vor diesem Hintergrund kann eine Lösung folgendermaßen aussehen:

$ sudo chgrp -R sys /mnt/data/dir
$ sudo chgmod -R g+s /mnt/data/dir
$ sudo fsetacl -R -m g:sys:rwx /mnt/data/dir
$ sudo fsetacl -R -d -m g:sys:rwx /mnt/data/dir

und Geschmack davon (wann immer Sie unter Linux / FreeBSD / MacOSX / Solaris arbeiten):

$ sudo adduser user sys

Siehe auch:


Mit Hilfe dieser Methode, die Ausführung cd /mnt/data/dir; touch example.txt; ls example.txt ... ... zeigt -rw-rw----+ 1 user user 3 nov 27 20:16 example.txt. Später ausführen mv example.txt ~; ll ~/example.txt... zeigt ... -rw-rw----+ 1 user user 0 nov 27 21:22 /home/user/example.txt, mit dem +am Ende der Berechtigungen. Viele +werden daher an vielen Orten auftauchen und die Leute fragen sich, warum diese Dateien etwas Besonderes sind (nur weil sie zufällig aus einem bestimmten Ordner kopiert / verschoben wurden). Gibt es eine Möglichkeit, die +automatische Produktion einzustellen?
Ganton

2

Sie könnten einfach versuchen, exfat oder ntfs zu verwenden. Bei mir funktioniert das so. Aber ich weiß jetzt nicht, ob es mit jeder Dateiberechtigung funktioniert. Ich denke nicht.


2

Dies ist eine geringfügige Abweichung von @ gavenkoas Ansatz, gemeinsam genutzte Gruppen zu verwenden, und beinhaltet keine Änderung des bereitgestellten Laufwerks.

Überprüfen Sie, welche Gruppen-ID (GID) im bereitgestellten Laufwerk verwendet wird.

su
cd /mnt/data/dir  # or wherever it is mounted
ls -l

Angenommen, Sie sehen etwas Ähnliches wie das Folgende:

drwxr-xr-x 3 12588 12000  4096 30.06.2017 11:22 Documents/

Dies bedeutet, dass 12000die aktuelle GID der Daten im Laufwerk angezeigt wird und die Daten von jedem anderen Benutzer der Gruppe gelesen und ausgeführt (jedoch nicht geschrieben) werden können. Erstellen Sie eine neue Gruppe (z. B. driveusers) und fügen Sie Ihren aktuellen Benutzer der neuen Gruppe hinzu:

groupadd -g 12000 driveusers
sudo gpasswd -a $USER driveusers  # add the current user to the new group
sudo chmod 770 /mnt/data/dir      # optional, just to ensure the drive mount is accessible to user and group of the drive

1

Ich habe folgende andere Lösungen gefunden:

/unix/422656/how-to-make-an-ext4-formatted-usb-drive-with-full-rw-permissions-for-any-linux-m/468933#468933

/unix//a/273705

Mit diesem:

sudo chgrp -R sys /mnt/data/dir
sudo chmod -R g+s /mnt/data/dir
sudo setfacl -R -m g:sys:rwx /mnt/data/dir
sudo setfacl -R -d -m g:sys:rwx /mnt/data/dir

und Geschmack davon:

sudo adduser user sys  

Ihr Benutzer kann jede Datei lesen / schreiben /dir.

@jadelord @ gavenkoa Glaubst du, dass es heutzutage Verbesserungen an deinen Lösungsvorschlägen für Ubuntu- (oder Fedora-) Benutzer geben könnte? Vielen Dank

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.