GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

„cat“:Datei kann nicht geöffnet werden:Berechtigung verweigert?

Ich versuche, den gesamten / zu kopieren Verzeichnis an einen anderen Ort. Wenn cp rekursiv ausgeführt wird, schlägt es bei einigen Dateien fehl wie:-

/ # ls -lrt /sys/module/nf_conntrack_ipv4/uevent
--w-------    1 root     root          4096 Mar  7 06:29 /sys/module/nf_conntrack_ipv4/uevent
/ #
/ # cat /sys/module/nf_conntrack_ipv4/uevent
cat: can't open '/sys/module/nf_conntrack_ipv4/uevent': Permission denied
/ # cp /sys/module/nf_conntrack_ipv4/uevent /tmp
cp: can't open '/sys/module/nf_conntrack_ipv4/uevent': Permission denied

Wenn ich eine Datei mit nur w erstelle Berechtigungen und versuche es zu kopieren/kategorisieren, ich konnte dort keine Probleme sehen. Bei einigen Dateien wie der oben genannten kann ich sie jedoch nicht kopieren oder kategorisieren, obwohl ich es als Root-Benutzer versuche. Das Merkwürdige ist auch, dass die Größe der oben genannten Datei mit 4096 angegeben wird, was der Größe des Verzeichnisses ähnelt. Ist das eine spezielle Datei?

Ich schätze, ich vermisse hier etwas und brauche etwas Input, um mehr über solche Dateien oder solche Verhaltensweisen zu erfahren. Bitte helfen Sie mir zu verstehen, warum ich den Inhalt solcher Dateien nicht kategorisieren darf.

Akzeptierte Antwort:

In einem normalen Dateisystem, z. ext4 , wenn Sie nur w haben Berechtigung in einer Datei können Sie nicht lesen (cat ) müssen Sie lesen (r ) etwas dafür. Beachten Sie, root kann jede Datei unabhängig von den Berechtigungsbits lesen.

Jetzt /sys ist ein Einhängepunkt spezieller sysfs wird vom Linux-Kernel bereitgestellt, der eigentlich ein virtuelles Dateisystem ist und anders funktioniert als normale Dateisysteme. /sys enthält gerätebezogene Informationen des Systems.

Etwas in /sys ändern würde die interne Datenstruktur des Kernels direkt ändern, sodass es vom Kernel abhängt, was er erlaubt oder verweigert.

Für /sys/module/nf_conntrack_ipv4/uevent , haben Sie nur w Bit gesetzt für Eigentümer (root ), auch wenn Sie r hinzufügen Bit für root (was eine sehr schlechte Idee ist ), während Sie die Datei lesen, erhalten Sie einen E/A-Fehler, da der Kernel per Design niemandem erlauben würde, die uevents für nf_conntrack_ipv4 zu lesen Modul.


Ubuntu
  1. Datei oder Anwendung als Root von Gui öffnen?

  2. Virt-Manager kann sich nicht mit Xen verbinden?

  3. Ich kann Tar.bz2-Datei nicht extrahieren:Fehlermeldung, .h-Datei:Zugriff verweigert?

  4. Rfkill-Steuergerät kann nicht geöffnet werden:Keine solche Datei oder Verzeichnis?

  5. C fopen gegen offen

So entpacken (öffnen) Sie die Gz-Datei

So öffnen Sie eine Datei unter Linux

So öffnen Sie den Ubuntu-Dateimanager als Root-Benutzer

Apache kann nicht auf die Datei zugreifen, obwohl sie die Berechtigung hat?

Mount-CIFS-Berechtigung unter Linux verweigert – behoben!

maven:bash mvn-Berechtigung verweigert