Das Berechtigungsproblem im Ordner / media / user verhindert, dass ich auf externe Medien zugreifen kann

11

Wenn ich meine externe Festplatte anschließe, eine DVD einlege oder versuche zu sehen, was ich auf meinem USB-Laufwerk habe, ist ein besonderes Verhalten das übliche Ergebnis.

Die Dateisysteme werden einwandfrei gemountet. Wenn ich mich als root durch anmelde sudo su, kann ich den Inhalt der /media/casper/externaldrivevollkommen in Ordnung sehen. Mein Benutzer casperkann dies jedoch nicht. Ubuntu antwortet auf jede Aktion, die den Ort betrifft Permission denied:

casper@casper-desktop:/media$ ll /media/casper/externaldrive
ls: cannot access '/media/casper/externaldrive': Permission denied

Ich beschloss, mich ein wenig mit den Berechtigungen (Problemen) des /mediaOrdners zu befassen. Da caspersehe ich folgendes:

casper@casper-desktop:/media$ ls -alF
total 16
drwxr-xr-x  4 root root 4096 apr 21 17:47 ./
drwxr-xr-x 25 root root 4096 jul 29 15:43 ../
drwxr-x---  3 root root 4096 aug  3 21:02 casper/
lrwxrwxrwx  1 root root   45 apr 21 17:47 .directory -> /etc/kubuntu-default-settings/directory-media
lrwxrwxrwx  1 root root   42 apr 21 17:47 .hidden -> /etc/kubuntu-default-settings/hidden-media
drwxr-xr-x  2 root root 4096 feb 29 23:56 home/

Was mir aufgefallen ist, dass es gesagt hat total 16, während es höchstens 6 Einträge gibt. Also habe ich den Befehl nochmal ausgeführt, aber als root. Das Ergebnis war das gleiche, seltsam. (Kann mich jemand darüber aufklären?)

Was mich jedoch noch mehr beeindruckt hat, war, dass das /media/casperVerzeichnis nicht von mir stammt und auch für mich nicht zugänglich ist. Ich war versucht, nur chown -Rdie Bazinkas herauszuholen, aber nachdem ich mich festgehalten hatte, googelte ich etwas wie "Medienbenutzerordner, nicht meiner, hilf mir".

Es hat eine Weile gedauert, aber schließlich bin ich auf diesen Thread gestoßen , in dem Benutzer den Zweck von 750 root:root /media/userOrdnern erklären . Es stellt sicher, dass nur root dort Dateisysteme bereitstellen, anzeigen und verwalten kann, deren einzelne Berechtigungen auf den tatsächlichen Benutzer geändert werden.

Wenn meine Informationen korrekt waren, sollten die /media/casper/externaldriveBerechtigungen für mich günstig sein. Ich überprüfte,

root@casper-desktop:/media/casper# ll
total 12
drwxr-x--- 3 root   root   4096 aug  3 21:02 ./
drwxr-xr-x 4 root   root   4096 apr 21 17:47 ../
drwxrwxrwx 1 casper casper 4096 aug  3 20:20 externaldrive/

Und das scheint der Fall zu sein.

Hier stecke ich also fest. Das Dateisystem verfügt über Berechtigungen für mich während des gesamten Verzeichnisbaums, ich kann jedoch nicht auf eine einzelne Datei zugreifen. Dies gilt auch für CDs und USB-Laufwerke.

Wer kann mir helfen, auf mein Kostbares zuzugreifen?

Oh, und übrigens. Der oben genannte Thread spricht von ACL in diesen /media/userOrdnern, angezeigt durch ein +nach den regulären Berechtigungen, wie drwxr-x---+ 3 root root. Mein System zeigt dies nicht an. Ist ACL in diesen Ordnern Standard für Ubuntu oder hatte der Benutzer spezielle Dinge im Gange, und sollte ich mir Sorgen machen, dass hier mein Problem liegt?

Danke fürs Lesen.

MicroParsec
quelle
1
Ich verwende ein Dual-Boot-Setup (16.04 und Win7) und sehe am Ende der Berechtigungen für Ordner / Medien / Benutzer ein +. Ich denke, da kommt dein Problem her. Ich habe diese ( 1 , 2 ) durch Google gefunden, aber ich habe acl noch nicht verwendet, um zu wissen, ob sie ausreichen, um Ihr Problem zu lösen.
Karsus
2
Die lsGesamtzahl der 1-KB-Blöcke, die von den Dateien im Verzeichnis nicht rekursiv verwendet werden. Siehe unix.stackexchange.com/a/4110/44281 .
Amotzg
@Karsus Danke, ich denke du hast mein Problem gefunden. Ich werde Zannas Antwort unten versuchen und Sie auf dem Laufenden halten. @ amotzg Aha, das klärt die Dinge auf. Danke :)
MicroParsec
Was bedeutet "3" aus Neugier drwxr-x--- 3*?
Thephoenix01

Antworten:

15

Da die Berechtigungen und Besitz von /media/casperAre

drwxr-x---  root root 

Ohne no +für ACLs ( Access Control Lists ) ist klar, dass nur root dieses Verzeichnis öffnen, eingeben, lesen oder schreiben kann. Bescheidene Benutzer wie wir erhalten die Berechtigungen am Ende der Zeichenfolge ---:(

Wir nichtprivilegierten Leute erhalten die Erlaubnis, mit ACLs auf diesen Ort zuzugreifen. Ich bin mir nicht sicher, warum Sie diese noch nicht haben, aber Sie können sie einrichten, was einfach sein kann oder ein wenig Basteln erfordert:

  • das aclPaket ist erforderlich (überprüfen apt-cache policy acl)
  • Das Dateisystem muss mit der aclOption gemountet werden

So überprüfen Sie letzteres (ersetzen Sie sdxYIhre Root-Partition entsprechend):

sudo tune2fs -l /dev/sdxY | grep "Default mount options:"

sollte zurückkehren:

Default mount options:    user_xattr acl

Standard-Mount-Optionen sind in festgelegt /etc/mke2fs.conf

Sie können überschrieben werden. Überprüfen Sie daher:

cat /proc/mounts | grep sdxY

sieht ungefähr so ​​aus:

/dev/sdxY / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0

Das obige ist in Ordnung ( aclmuss nicht erwähnt werden), aber wenn es heißt noacl, müssen Sie es ändern.

Sie können die Option wie folgt zu Standard-Mount-Optionen hinzufügen:

sudo tune2fs -o acl /dev/sdxY

Oder Sie können acldie Optionen für die Root-Partitionszeile wie folgt ergänzen /etc/fstab:

UUID=whatever /     ext4    errors=remount-ro,acl    0       1

Verwenden Sie setfaclbei aktivierten ACLs, um Berechtigungen für sich selbst hinzuzufügen. Um usernameLese- und Ausführungsberechtigungen für / media / casper zu erteilen (Sie benötigen die Ausführungsberechtigung, um ein Verzeichnis einzugeben oder dessen Inhalt zu durchsuchen):

sudo setfacl -m u:username:rx /media/casper

Sie können durch usernameuid ersetzen (wahrscheinlich sind Sie 1000- überprüfen Sie mit idBefehl)

sudo setfacl -m u:1000:rx /media/casper

um die ACL-Berechtigungen zu sehen, die Sie getfaclwie Oli in seiner Antwort verwendet haben

getfacl /media/casper

So entfernen Sie ACL-Berechtigungen von einem Benutzer

sudo setfacl -x u:username /media/casper

So löschen Sie alle ACL-Berechtigungen

sudo setfacl -b /media/casper

Hinweis: Ich habe betrogen und mir selbst eine Frage gestellt, warum es so viele Einträge in gibt /media. Die Antwort ist hier

Zanna
quelle
1
Vielen Dank an @Zanna: apt-cache policy aclRückgabe ACL ist installiert und aktuell. Default mount optionsErwähnungen acl. cat /proc/mounterwähnt nicht noacl. Ich denke, ich muss die ACL-Berechtigungen jetzt manuell hinzufügen, da sie aus irgendeinem Grund nicht erstellt wurden. Ich habe die von Ihnen beschriebenen Befehle verwendet, um mir Empfangsberechtigungen für das /media/casperVerzeichnis zu erteilen, und ich bin froh, sagen zu können, dass ich wieder auf meine externen Medien zugreifen kann. Danke Zanna!
MicroParsec
Yay, froh, dass du es behoben hast: D
Zanna
2

Wenn Sie von Ubuntu aus Zugriffsberechtigungen für ein Windows-Laufwerk erteilen möchten

Der normale chmodBefehl funktioniert nicht, wenn es sich um ein Windows NTFS-Laufwerk handelt.

Folgendes funktioniert für mich.

Öffnen Sie die Datei /etc/mtab:

gedit /etc/mtab

Suchen Sie den Laufwerksnamen in dieser Datei (fahren Sie einfach mit der Maus über das Laufwerk, für das Sie nach einer Lösung suchen, in meinem Fall zeigt die GUI einen anderen Namen und mit der Maus darüber /media/user-name/drive-name)

Jetzt in /etc/mtab:

Suchen Sie den Laufwerksnamen in der Datei und überprüfen Sie, welchem ​​Laufwerk Ihr bereitgestelltes Laufwerk zugewiesen ist (in meinem Fall - /dev/sda4).

Mounten Sie nun dieses Laufwerk mit:

sudo ntfs-3g /dev/sda4 /media/"$USER"

Jetzt kann ich meine ausführbaren Dateien ausführen, aber ich kann den Inhalt des Laufwerksnamens nicht sehen. Daher habe ich das Laufwerk ausgehängt und erneut bereitgestellt.

Hridaynath
quelle