Blog

cifs_mount failed w/return code = -13

Veröffentlicht am

Als ich heute versucht hatte eine Freigabe auf einem Ubuntu 20.04 über cifs zu mounten, bin ich ständig über den Fehler gestolpert. Der Befehl dmesg zeigte mir indes noch eine andere Fehlermeldung, die so leider erstmal nichts aussagend ist. Die beiden Fehlermeldungen halfen mir leider nicht weiter. Die Freigabe hatte ich schon auf anderen Maschinen eingerichtet, ohne jegliche Probleme. Ein read-only konnte ich daher ausschließen. Zumal per default read-write Zugriff beim mount gewährt werden sollte. Nach etwas googlen bin ich auf die Lösung gestoßen. Mir fehlte mount.cifs, welches Bestandteil der cifs-utils ist. mount.cifs wird benutzt, wenn im mount Befehl der Schalter […]

Blog

Image Crawler Python

Veröffentlicht am

Möchte man sein Machine Learning Model eigenständig trainieren, ist es teilweise hilfreich einige Bilder zur Verfügung zu haben. Lass uns einfach mal davon ausgehen, dass unser Neuronales Netzwerk eine Katze erkennen soll. So sollten wir tausende Bilder von Katzen aus dem Netz laden, um unser Model erfolgreich trainieren zu können. Die Katzen wären die positiven Ergebnisse und z.B. Hunde, Häuser, Kühe die negativen. Anhand dieser Konstellation zwischen positiven und negativen Bildern, kann unser Netzwerk die Katze klassifizieren. Dazu habe ich ein Python Skript geschrieben. Je nachdem was die Keywörter sind, sucht es passende Bilder. Die Bilder werden heruntergeladen, verkleinert und […]

Blog

OpenCV auf dem Raspberry Pi installieren

Veröffentlicht am

OpenCV ist ein Computer Vision Bibliothek und läuft unter Windows, Linux als auch macOS. Es wurde in C++ geschrieben, dementsprechend kann es dort inkludiert werden. Aber auch Python und Java werden von der Bibliothek unterstützt. Viele benutzen OpenCV zur Gesicht-, Gesten- und Objekterkennung, um nur einige zu nennen. In diesem Beitrag gehe ich auf die Installation ein. Auch wenn ich dies auf dem Raspberry Pi 3 mache, so ist die Routine auf anderen Debian-Derivaten ähnlich. Auf dem Pi3 läuft zurzeit Raspbian Stretch. Welche Version ihr habt, könnt ihr mit folgenden Befehl überprüfen: OpenCV Installation Zu unterscheiden sind hier 2 Installationsweisen. […]

Blog

Mein erstes Icinga2 Plugin

Veröffentlicht am

Icinga2 ist eine Monitoring Anwendung, deren Hauptzweck es ist, definierte Services von bestimmten Hosts zu überwachen. Die jeweiligen Fehlermeldungen können unter anderem auf der Website, aber auch per Mail (falls eingerichtet), überblickt werden. Icinga stellt Plugins wie ssh, Festplattenüberprüfung etc. bereit, es können aber auch eigenständig Plugins erstellt werden. Plugins können Skripte sein (Shell, Python, Perl, Ruby, PHP, etc.) aber auch kompilierte Binaries geschrieben in C, C++, Go, etc. Ich wollte schon lange mein eigenes Plugin schreiben und dies habe ich mit diesem Artikel nun vollzogen. Dabei habe ich mich bei Shell bedient und mein QNAP TS-212 NAS als Hosts […]

Blog

Dash mit Apache2 installieren

Veröffentlicht am

Hast du dich jemals gefragt, wie du Dash(Plotly) mit Apache2 installierst? Mit diesem Blog Eintrag möchte ich dich mit auf die Reise nehmen, Apache2 für dash zu konfigurieren. So wie viele andere ist Apache2 ein Webserver, mit dem du deine Seite veröffentlichen kannst und somit auch deine dash-app. Dash ist ein framework um schöne Dashboards in python zu kreieren. Wenn du interessiert bist, was mit dash möglich ist, folge diesen Link. Dash selber kommt mit einem kleinen Webserver. Dieser ist jedoch nur für die Entwicklung gedacht. Aufgrund der Sicherheit sollte dieser also nicht für die Veröffentlichung benutzt werden. Der Entwickler […]

Blog

Kioptrix Level 2

Veröffentlicht am

Was ist Kioptrix? Kioptrix Level 2 ist eine VM Challenge. Das Ziel ist es, root Zugriff auf dem System zu erlangen. Dies kann auf unterschiedliche Weise passieren. Der Zweck dieser “Spiele” ist es, die Basics und Techniken von Schwachstellen zu erlernen und zu kompromittieren. Dies Hilft dabei Verständnisse eines Hackers aufzubauen, selbst Schwachstellen zu finden und gegebenenfalls diese auch zu schließen. Laden könnt ihr euch die jeweilige VM auf der vulnhub Seite: Zum Starten benötigt ihr einen VM Player. Dazu könnt ihr den VM Player von VMWare oder den Virtualbox von Oracle verwenden. Ich persönlich verwende die Virtualbox. Welcome to […]

Blog

Icinga2 check by ssh

Veröffentlicht am

Neben dem Agenten, der für die Ausführung der Checks beim Client verantwortlich ist, gibt es auch noch den Check über ssh(check_by_ssh). Im Gegensatz zum Agent muss hierbei nicht eine Icinga Instanz auf dem Remote Host laufen. Die Plugins, bzw. die Checks sollten trotz-alledem auf dem Client vorhanden sein. Die Ausführung läuft dabei über den Port 22(ssh) und nicht wie beim Agent auf Port 5665. Der ssh Port ist meistens schon geöffnet, daher muss auch keine weitere Portfreigabe in der Firewall eingerichtet werden.  Damit die Plugins auf dem Client vorhanden sind, installieren wir diese.  Icinga führt die checks über ssh aus […]

Blog

Icinga Linux remote client einrichten

Veröffentlicht am

Damit Icinga auch optimal genutzt wird, sollten Clients installiert werden. Dabei gibt es mehrere Möglichkeiten diese zu überwachen. Die eine ist mit dem Icinga Agent, den ich hier beschreiben werde. Die andere über ssh, die ich in “Icinga2 check by ssh” beschrieben habe. Icinga benötigt dafür ein Master + Satellite/Agent Aufbau.  Ein master hat kein weiteres Elternknoten Icinga Web 2 ist normalerweise auf dem master installiert Ein master fügt die Informationen vom Kindknoten in das Backend oder generiert Benachrichtigungen Ein Satellite hat ein Eltern- und ein Kindknoten Der Satellite kann die Konfiguration für Hosts/services vom Elternknoten erhalten Ein Satellite kann […]

Blog

Gesichtserkennung Raspberry GPIO Schaltung

Veröffentlicht am

Mich haben zuletzt vermehrt Anfragen erreicht, die GPIOs mit der Gesichtserkennung zu kombinieren. Zum Beispiel als Schaltung für die Garage oder das eine LED für eine bestimmte Zeit aktiviert ist. Zudem wäre eine Benachrichtung aufs Smartphone interessant. Diesen Anfragen möchte ich mit diesem Beitrag gerecht werden. Die Anforderung an mich selber waren, dass für jedes Gesicht, welches die Software im Frame erkennt, das Script eine Nachricht an das Smartphone schicken soll. Für jedes bekannte Gesicht soll zusätzlich die LED für 5 Sekunden laufen. Für die Smartphone Benachrichtigung habe ich Pushbullet verwendet. Pushbullet stellt eine App bereit und es stehen mehrere […]

Blog

Projekt: Asset Management Teil2 Django

Veröffentlicht am

Ein kurzer Rückblick zu Teil 1: Das Projekt “Asset Management” habe ich ins Leben gerufen, damit ich meine Investments zentral gespeichert habe. Dafür verwende ich Metabase. Die Datenbank Struktur ist im vorherigen Bericht zu sehen. Investiert habe ich in mehrere Arten, von P2P bis Aktien. Dabei haben alle ihre eigene Plattform, wo ich die Informationen bekomme. Diese Informationen liegen allerdings nicht zentral an einem Ort. Dies wollte ich mit diesem Projekt ändern. Ich habe das Django Projekt “controlpanel” genannt und 2 Apps in dem Projekt erstellt. Diese haben den Namen “Metabase” und “Weather. Das integrierte Admin Interface von Django leistet […]