open /dev/mem - Betrieb nicht gestattet
Arbeite ich unter ubuntu.
Ich versuche zu öffnen /dev/mem
und ich bin immer permission denied
int32_t open_memdev()
{
int32_t fd;
fd = open("/dev/mem", O_RDONLY);
if (fd < 0) {
printf("Failed to open /dev/mem : %s\n", strerror(errno));
return-EINVAL;
}
return fd;
}
Dieser code druckt immer "Failed to open /dev/mem : Operation not permitted"
Ich suchte dieses auf, SO
Diese q scheinen besprechen Sie das Problem nicht in der Lage, Zugang über 1 MB, aber mein problem ist, dass ich bin nicht in der Lage zu öffnen Sie noch einmal.
Zusätzliche Angaben, wenn Sie Hilfe:
1) ich habe meine Konfiguration, die CONFIG_STRICT_DEVMEM aktiviert ist.
2) ls -l /dev/mem
crw-r----- 1 root kmem 1, 1 2014-03-13 13:57 /dev/mem
Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.
Was ist Ihre "
mögliche Duplikate von öffnen Sie die Berechtigungen von /dev/mem
Ich verdeutlichte den Punkt, der dieses Q wird ein Duplikat derjenigen, die Sie erwähnt. Wunsch, Sie zu betrachten, dass ein Teil meiner Frage. Nein, ich bin kein root. Mit der Wurzel bin ich in der Lage zu Lesen.Ich möchte Lesen, ohne root als normaler user
Sie kann es nicht. Das ist es, was Berechtigungen sind für die.
Erklären Sie bitte, warum tun Sie müssen Zugang
id
", sind Sie root?mögliche Duplikate von öffnen Sie die Berechtigungen von /dev/mem
Ich verdeutlichte den Punkt, der dieses Q wird ein Duplikat derjenigen, die Sie erwähnt. Wunsch, Sie zu betrachten, dass ein Teil meiner Frage. Nein, ich bin kein root. Mit der Wurzel bin ich in der Lage zu Lesen.Ich möchte Lesen, ohne root als normaler user
Sie kann es nicht. Das ist es, was Berechtigungen sind für die.
Erklären Sie bitte, warum tun Sie müssen Zugang
/dev/mem
aus einer normalen id ....InformationsquelleAutor mk.. | 2014-03-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht Lesen
/dev/mem
wenn Sie nicht root.Es gibt keinen Grund für eine ordentliche Anwendung für den Zugriff auf
/dev/mem
, d.h. die körperliche RAM, da die Anwendungen laufen in virtuellen Speicher !Wenn Sie ändern Sie die Berechtigung der
/dev/mem
zu aktivieren, dass Sie (sollten Sie nicht), öffnet sich eine riesige Sicherheitslücke in Ihrem system. Nur Vertrauenswürdige root-Prozesse, sollten auf/dev/mem
. Sehen mem(4)(Sie könnte verwenden setuid Techniken, wenn Sie so wollte, oder das Programm ausgeführt, mit
sudo
)Wenn Sie brauchen, um Zugang virtueller Speicher in der Adresse Raum von einigen anderen Prozess, sollten proc(5) z.B.
/proc/1234/mem
für den Prozess der pid 1234.führen Sie das Programm als root mit
sudo
oder stellen Sie Ihr Programm mit dem setuid-bitIch weiß, dass ich war auf der Suche nach einem Weg, um /dev/mem, frei für alle (für eine test-Studie). Jedenfalls habe ich es gefunden. Ich musste einfach Kommentar eine Zeile in mem.c und fügen return 0; statt.
Für einige Grund, selbst als root kann ich immer noch nicht öffnen.
InformationsquelleAutor Basile Starynkevitch