Warum kann ich kein Verzeichnis in / sys erstellen?

8

Ich lerne Ubuntu und experimentiere mit Dingen.

Ich habe bemerkt, dass ich kein Verzeichnis in / sys

erstellen konnte

Ist das ein spezielles Verzeichnis oder etwas? Gibt es andere Arten von Verzeichnissen?

(Ich habe eine sudo -i und eine chmod a+w /sys )

    
spiderplant0 05.09.2013, 23:52

2 Antworten

14

Zuerst sollten Sie /sys 's Berechtigungen zurück ändern ( sudo chmod a-r /sys wird es tun, da die Standardberechtigungen dr-xr-xr-x sind). /sys sollte nicht global schreibbar sein!

Um Dateien und Verzeichnisse in Teilen des Systems außerhalb Ihres privaten Ordners, des externen Mediums und des Ordners /tmp zu erstellen, sollten Sie als root mit sudo erstellen. , anstatt Berechtigungen oder Eigentumsrechte zu ändern, um Ihnen Zugriff zu gewähren. Es ist besonders nicht empfehlenswert, Verzeichnisse zu schreiben, die weltweit beschreibbar sind.

Informationen zur empfohlenen Vorgehensweise finden Sie unter:

Sie können sogar gksudo nautilus (oder sudo -H nautilus , wenn Sie nicht gksudo haben) verwenden, um ein root-eigenes Dateibrowser-Fenster zu öffnen. Sei vorsichtig damit - es kann fast alles tun, und die meisten dieser Dinge sind Dinge, die du wahrscheinlich nicht tun willst. Beachten Sie außerdem Folgendes: Wenn Sie ein Programm aus einem root-eigenen Dateibrowserfenster starten, wird dieses Programm ebenfalls als root ausgeführt.

Das ist generell was Sie tun sollten, um neue Inhalte von Verzeichnissen zu bearbeiten oder zu erstellen, die root besitzen. Jedoch ...

/sys ist anders; sogar root kann dort nicht direkt Sachen erstellen

Wie /proc und /dev ist /sys in Ubuntu und anderen Betriebssystemen, die den Linux-Kernel verwenden, ein virtuelles Dateisystem , was es darstellt, sind keine echten Dateien auf Ihrer Festplatte (oder anderswo).

Kurz gesagt, /sys ist eine Möglichkeit der Kernel bietet Informationen über (physische und virtuelle) Geräte.

Einige Einträge im /sys Dateisystem sind ebenfalls sinnvoll beschreibbar, und das Schreiben in sie ist eine Möglichkeit, die Konfiguration für Geräte dynamisch festzulegen. (Dies sollte nicht mit dem /dev Dateisystem verwechselt werden; das Schreiben von Einträgen in /dev ist eine Möglichkeit, Daten an Geräte zu senden. )

Aber das muss immer noch als root gemacht werden. Anstatt die Berechtigung für /sys oder einen Teil davon zu ändern, sollten Sie diese Aktion nur als root mit sudo ausführen, wie oben erklärt.

Diese Antwort auf Unix.SE erklärt, wie das geht und wie man auch Nicht-Administratoren erlaubt (wer kann die meisten Aktionen nicht als root ausführen) um einige /sys Einstellungen zu ändern.

Weitere Informationen zur Funktionsweise von /sys finden Sie unter:

Einträge in /sys werden vom Kernel und von Treibern erstellt; Sie können sie nicht einfach über die Befehlszeile erstellen. (Wie bereits erwähnt, können Sie einige als root bearbeiten, aber Sie können im Allgemeinen keine neuen aus dem Benutzerbereich erstellen, es sei denn, Sie laden Kernel-Module oder installieren andere Treiber oder ändern den Kernel.)

Wenn Sie daran interessiert sind, Treiber zu schreiben, siehe:

Eliah Kagan 06.09.2013, 00:21
4

Ja, /sys ist ein "spezielles" Verzeichnis. Von Wikipedia :

  

Moderne Linux-Distributionen enthalten ein / sys-Verzeichnis als virtuelles   Dateisystem (sysfs, vergleichbar mit / proc, welches ein procfs ist), welches   speichert und erlaubt die Modifikation der an das System angeschlossenen Geräte,   während viele traditionelle UNIX- und Unix-ähnliche Betriebssysteme / sys verwenden   als symbolische Verbindung zum Kernel-Quellbaum.

Das "Speichert und erlaubt die Modifikation der an das System angeschlossenen Geräte" ist sehr wichtig. Die Tatsache, dass /sys als virtuelles Dateisystem verwendet wird, das speziell gemountet wird, ist der Grund, warum Sie (und root) nicht darauf schreiben können. Ich würde vermeiden, mit /sys zu verwirren. Bei Linux, das sehr offen und transparent ist, sind die Dinge aus gutem Grund meist nicht veränderbar; entweder aus Sicherheitsgründen oder in diesem Fall, weil es einen anderen Weg gibt, um Ihr Ziel zu erreichen, das viel weniger riskant ist.

    
Richard 06.09.2013 00:20

Tags und Links