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/externaldrive
vollkommen in Ordnung sehen. Mein Benutzer casper
kann 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 /media
Ordners zu befassen. Da casper
sehe 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/casper
Verzeichnis nicht von mir stammt und auch für mich nicht zugänglich ist. Ich war versucht, nur chown -R
die 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/user
Ordnern 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/externaldrive
Berechtigungen 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/user
Ordnern, 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.
quelle
ls
Gesamtzahl der 1-KB-Blöcke, die von den Dateien im Verzeichnis nicht rekursiv verwendet werden. Siehe unix.stackexchange.com/a/4110/44281 .drwxr-x--- 3*
?Antworten:
Da die Berechtigungen und Besitz von
/media/casper
AreOhne 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:
acl
Paket ist erforderlich (überprüfenapt-cache policy acl
)acl
Option gemountet werdenSo überprüfen Sie letzteres (ersetzen Sie
sdxY
Ihre Root-Partition entsprechend):sollte zurückkehren:
Standard-Mount-Optionen sind in festgelegt
/etc/mke2fs.conf
Sie können überschrieben werden. Überprüfen Sie daher:
sieht ungefähr so aus:
Das obige ist in Ordnung (
acl
muss nicht erwähnt werden), aber wenn es heißtnoacl
, müssen Sie es ändern.Sie können die Option wie folgt zu Standard-Mount-Optionen hinzufügen:
Oder Sie können
acl
die Optionen für die Root-Partitionszeile wie folgt ergänzen/etc/fstab
:Verwenden Sie
setfacl
bei aktivierten ACLs, um Berechtigungen für sich selbst hinzuzufügen. Umusername
Lese- und Ausführungsberechtigungen für / media / casper zu erteilen (Sie benötigen die Ausführungsberechtigung, um ein Verzeichnis einzugeben oder dessen Inhalt zu durchsuchen):Sie können durch
username
uid ersetzen (wahrscheinlich sind Sie1000
- überprüfen Sie mitid
Befehl)um die ACL-Berechtigungen zu sehen, die Sie
getfacl
wie Oli in seiner Antwort verwendet habenSo entfernen Sie ACL-Berechtigungen von einem Benutzer
So löschen Sie alle ACL-Berechtigungen
Hinweis: Ich habe betrogen und mir selbst eine Frage gestellt, warum es so viele Einträge in gibt
/media
. Die Antwort ist hierquelle
apt-cache policy acl
Rückgabe ACL ist installiert und aktuell.Default mount options
Erwähnungenacl
.cat /proc/mount
erwähnt nichtnoacl
. 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/casper
Verzeichnis zu erteilen, und ich bin froh, sagen zu können, dass ich wieder auf meine externen Medien zugreifen kann. Danke Zanna!Wenn Sie von Ubuntu aus Zugriffsberechtigungen für ein Windows-Laufwerk erteilen möchten
Der normale
chmod
Befehl funktioniert nicht, wenn es sich um ein Windows NTFS-Laufwerk handelt.Folgendes funktioniert für mich.
Öffnen Sie die Datei
/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:
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.
quelle