Bash: Berechtigung zum Schreiben von Dateien verweigert

9145
Sam

Ich folgte dieser Anleitung zum Thema "Erstellen von Linux-Proc-Dateien in C-Programm mit LKM".

Ich habe mein Modul erfolgreich erstellt und geladen. Jetzt möchte ich in meine proc-Datei ein Echo setzen, um sicherzustellen, dass die Methode aufgerufen wird, die aufgerufen werden soll.

Ich habe versucht:

$ echo "hello" > /proc/procEntry123 # But it says permission is denied! $ sudo echo "hello" > /proc/procEntry123  # Same error message. 

Wie kann ich die Zugriffsrechte auf diese Datei erhöhen? Ich bin der einzige Benutzer und Administrator auf diesem System.

6
"aber ich bin sudo", nein eigentlich bist du 'su' der super user. Es steht für etwas wie "Nehmen Sie diese Aktion als Superbenutzer" vor, da die zweite Hälfte "do" ist, wie in "do this, do that". TheZ vor 11 Jahren 0

1 Antwort auf die Frage

13
grawity

Die Erlaubnis wird jedoch abgelehnt!

Wahrscheinlich heißt es, weil Sie beim Aufruf restriktive Berechtigungen festgelegt haben create_proc_entry(). (0644 übersetzt in "u = rw, go = r", wodurch nur dem Besitzer Schreibberechtigungen erteilt werden, der standardmäßig auf root festgelegt ist.)

Ich setze "sudo" davor - dieselbe Nachricht.

Umleitungen wie >oder |werden von der laufenden Shell ausgeführt, bevor sie aufgerufen wirdsudo .

Sie müssen entweder sudo sh -c "echo blah > /proc/blah"eine Root-Shell verwenden oder mit ausführen sudo -s.

Ich bin der einzige Benutzer - dies ist meine persönliche Maschine!

Dies ist unter Linux nicht wichtig. Dateiberechtigungen werden unabhängig vom Benutzer des Computers erzwungen.

Wenn Sie nicht wollen, dass, entweder als root anmelden, oder verwenden pam_capSie sich die geben cap_dac_overrideFähigkeit - aber beide Verfahren wird zu Problemen führen früher oder später.

Nein, schlagen Sie nicht vor, dass sich die unerfahrenen Benutzer als root anmelden. Das ist ein Rezept für eine Katastrophe! Darth Android vor 11 Jahren 2
@DarthAndroid: Wenn sie ein Kernel-Modul schreiben können, sollten sie über einen gesunden Menschenverstand verfügen, um das nicht zu tun. grawity vor 11 Jahren 0
Das Problem ist jedoch nicht, dass Sie dies einem erfahrenen Benutzer vorschlagen, sondern dass jeder, sein Bruder und sein Hund, die diesen Beitrag besuchen, sehen werden, dass Sie vorgeschlagen haben, Vorsicht in den Wind zu werfen und sich als Root anzumelden. Es gibt bereits 23 Ansichten zu dieser Frage, daher könnten jetzt 23 Personen denken, dass dies in Ordnung ist. :) Nur ein Gedanke ... Nachdem dies gesagt wurde, loggen sich viele Leute als root ein, egal was wir ihnen sagen, also denke ich, dass es nicht wirklich wichtig ist ... jmort253 vor 11 Jahren 2
Hallo Leute - Ich habe die Proc-Datei chmod 777 gegeben und sie wurde gelöst. Diese Übung war rein experimentell, es spielt also keine Rolle, dass die Datei für alle rw ist. Danke für Ihre Hilfe! Sam vor 11 Jahren 0