Kann ich das Linux-Betriebssystem über eine SQL-Schnittstelle abfragen?

428
lucid_dreamer

ZB für Crontab. Ich möchte es nicht analysieren. Ich möchte eine SQL-Abfrage gegen (mindestens) eine jdbc-kompatible Verbindung ausführen (automatisch bereitgestellt von Linux, die genau das zurückgibt).

Aber ich meine - nicht nur für Crontab. Je mehr, desto besser. Geräte, Dienstleistungen. Ich verstehe, dass einige der Dateien letztendlich durch Dateien im Dateisystem gesichert werden, aber es ist mir egal, ich möchte jetzt eine relationale Abstraktion, die jetzt kostenlos ist :-).

Ich finde Strings, die Dateien für info analysieren, ist langwierig und ich würde es vorziehen, wenn ich eine gute alte SQL möchte, um die benötigten Informationen zu erhalten.

Gibt es schon etwas, das sich darauf bezieht?

Ist das sonst eine schlechte Idee? Wenn ja warum?

1
Das ganze System? Nein, ABER es gibt viele Dienste und Dienstkombinationen, die dbs für alle Backend-Sachen verwenden, entweder etwas Internes und ein Abfrage-Interface (LDAP-Server) oder tatsächlich ein Db-Produkt wie Mysql verwenden - für allgemeines Webhosting auf diese Weise. check out ispconfig ivanivan vor 6 Jahren 0
Bitte halte diese Frage zurück. Was ich gefragt habe, ist sehr klar (und nützlich - auf SU ist keine Frage so). siehe Antwort von "Mike Fitzpatrick". lucid_dreamer vor 6 Jahren 0

3 Antworten auf die Frage

2
Mike Fitzpatrick

Schauen Sie sich osquery an, das eine SQL-Schnittstelle für viele Systembereiche bietet, einschließlich crontab . Es ist plattformübergreifend und kostenlos.

Von der osquery-Website:

Mit osquery können Sie problemlos Fragen zu Ihrer Linux-, Windows- und macOS-Infrastruktur stellen. Unabhängig davon, ob Sie Intrusion Detection, Zuverlässigkeit der Infrastruktur oder Compliance sicherstellen möchten, können Sie mit osquery eine Vielzahl von Organisationen in Ihrem Unternehmen unterstützen und informieren.

Hinweis [es gibt keine jdbc-Schnittstelle] (https://github.com/facebook/osquery/issues/1927), es verwendet den SQLite-SQL-Parser und kann nicht zum Modifizieren von Abfragen verwendet werden. lucid_dreamer vor 6 Jahren 0
Auch interessant [Doorman] (https://archive.is/xPCZA) und [Zentral] (https://archive.is/8BJY7). lucid_dreamer vor 6 Jahren 0
0
BillThor

Die nächstliegende Schnittstelle, die ich mir dabei vorstellen kann, wäre das SMTP-Protokoll.

Ich kann mir keine Möglichkeit vorstellen, eine Schnittstelle sicher zu implementieren, die mit SQL abgefragt werden könnte.

Es gibt Programme, die Protokollsätze in einer Datenbank speichern können. Wenn Sie Protokolldaten abfragen möchten, suchen Sie nach Protokollanalyse-Tools.

Meinten Sie snmp (service status etc) und nicht smtp (mail?) ivanivan vor 6 Jahren 1
0
davidgo

Dies ist eine schlechte Idee - es scheint mir, dass man an nichts Sinnliches grenzt, da die Informationen, die Linux enthält, zum größten Teil einer relationalen Datenbankdarstellung nicht zugänglich sind.

Sie sprechen davon, dass das String-Parsing von Dateien schwierig ist - aber es ist nicht klar, was Sie hier meinen. Die meisten Artefakte in Linux können zwar als Dateien abgerufen werden, es gibt jedoch Front-End-Tools, mit denen Sie arbeiten und diese bearbeiten können.

Tangenial verwandt - WinFS - scheint ein Versuch gewesen zu sein, ein Datenbank-Dateisystem von Microsoft zu erstellen, das scheinbar nie zum Tragen gekommen ist. Der Wikipedia-Eintrag ist eine interessante Lektüre, aber selbst wenn dies existiert, wäre es keine vollständige Schnittstelle zu einem Betriebssystem, sondern eine Schnittstelle zu einem Dateisystem.

Ich konnte keine Projekte finden, die dies unter Linux tun, aber ich denke, es wäre theoretisch möglich, eine Linux-Shell zu erstellen, die (möglicherweise in Kombination mit FUSE). Ich fand einen Projektnamen GLSCube - der etwas analoges [für den Umgang mit Dateien] gesehen hätte - obwohl er nicht auf SQL basiert -, aber es scheint, als wäre er tot geboren worden.

Was ist mit OSQuery? lucid_dreamer vor 6 Jahren 1