Einführung in Linux-Systeme

  • Soll ich zu den Beitragen noch ein Video​ machen ? 19

    Das Ergebnis ist nur für Teilnehmer sichtbar.

    Hallo,

    (An SchimmerMediaHD kannst du für Linux ein eines groß Thema aufmachen ?)

    Im Forum habe ich öfters fragen gelesen, die mit ein kleines Wissen von Linux selber gelöst bekommen würde. Ich will hier eine kleine Übersicht geben mit den wichtigsten Informationen geben. Werde Versuchen jeden Tag eine kleine Info geben. (Würde mich freuen wenn Test31 mich anschreiben würde und wir das zu zweit machen können und alle andren die weitere Linux-Erfahrung, würde aber es begrüßen, wenn diese mich vorher anschreiben, da ich einen groben Plan habe wann und wie ich das ganze hier zeigen will)

    Wichtig: Bitte keine Frage unteren hin schreiben. Entweder mich anschreiben oder eine andres Thema auf machen. Einfach nur für die Struktur und Sauberkeit. Jedoch bitte Dauen da lassen, wenn ihr den Beitrag interessant fandest oder lehrreich fandet.

    Zu meiner Person:

    Mein Name ist Sebastian bin 22 Jahre alt und arbeite als Fachinformatiker in Fachrichtung: Systemintegration. In einen großen Unternehmen und bin für Sicherheit und Linux System verantwortlich.

    Zu erstmal was ist Linux:

    Linux ist eine Nachbau von Unix, da Unix ab einen Zweitpunkt kostenpflichtig würde. Da hat Linus Torvalds dies halt nachgebaut und kostenlos zu Verfügung gesellt hat. Dabei war es eigentlich nur großteilig der Kernel, der am Anfang gebaut hat.

    Daraus hat sich dann vieles weitere Entwickelt: Die Distributionen Für eine Übersicht und Entwicklung habe ich mal hier ein mal ein Bild ist aber nicht jedes Distribution darauf. Hier klicken um zum Bild zu kommen.

    In der Linux-Welt wird alles kostenlos zu Verfügung gestellt. Es gibt eine Ausnahme z.Bei.: Business Linux. Jedoch ist oft mal ein großes Verständnis eine Voraussetzung um so ein System zu bedienen. Daher Verlange die meisten Linux-Support hohes Geld für Support und Anleitung wie auch für Dokumentationen. Daher bitte ich euch, die Einleitungen nicht weiter zu geben oder ähnliches besonders die tief gehende. Danke für das Verständnis, es geht um mein Beruf :)

    Wie ist so ein Distributionen aufgebaut:

    Nun, dazu müssen wir uns kurz mal Verstehen was ein Betriebssystem ist und ab welchen Punkt die Arbeit übernimmt.

    Wann übernimmt das Betriebssystem die Arbeit:


    Wenn der Computer, das System eingeschaltet wird, wird zuerst mal das BIOS oder das UEFI gestartet. Diese führen Checks durch und insistieren die Hardware Komponenten und legt dann die Boot-Reihenfolge fest, die vom User auch bestimmt werden kann. Das BIOS ist ein read only System (nur Lesen). Das Stimmt nur zu einen Teil, da man dieses auch Updaten kann. Jedoch werden alle User Eingabe auf ein Art RAM gespeichert. Dieser wird durch eine Batterie gehalten. Wenn die lehre geht merkt man es an der Uhrzeit. UEFI ist das neue BIOS, das aber auch Beschreiben werden kann und es erlabt größere Ressourcen zu verwalten. Die meisten Systeme von Heute sind mit UEFI zu kaufen / zu bekommen. Mit Fast Boot werden mache Sachen übersprungen (Zum Beispiel POST(POWER ON SELF TEST)

    Also testet das BIOS/UEFI, ob auf Speichermedium (CD, DVD, USB, Festplatte etc.) eine Boot Partition oder eine Bootloader. Dazu liest das BIOS/UEFI die ersten. ca 100 Blöcke ein (Damit ist die Boot Partition immer die erste und meist nur 100 bis 500 MB groß) . Wenn er dort was findet, gibt er dieser die Arbeit ab und gibt dem Bootloader weiter arbeiten. (Achtung: BIOS hört hier auf zu laufen. Kann also vom OS / Betriebssystem aus angreifen werden.)

    Dieser Bootloader ladet, dann das Betriebssystem und lauft damit eigenständig.

    Was ist ein Betriebssystem:

    Ein Betriebssystem besteht aus einem Kernel(Grundlage von allem),Treibern und Hilfsprogrammen. Mit diesen werden dann Software Schnittstellen (englisch Interface erzeugt).

    Auf den Kernel gehe ich hier nicht ein würde zu weit gehen:!:

    Treibern ermöglichen die Ansteuerung und Benutzung der Hardware für die Software.

    Hilfsprogrammen sollen dem User bestimmten Sachen erleichtern. (Achtung: nicht jedes Programm das Vorinstalliert ist ist automatisch ein Hilfsprogramm. Zum Beispiel auf die Windows Welt bezogen wahre CMD oder Power Shell ein Hilfsprogramm, jedoch nicht der Internet Explorer)

    Wie funsioniert nun eine Linux- Distributionen?

    Nun, eine Distributionen ist ein Betriebssystem / OS. Dieses Fusioniert wie jede andre Betriebssystem auch in den Grundfusionen. Ich möchte eine Unterschiede von einen Linux-Distributionen zu einer Windows-Distributionen geben.

    • Zu nächst mal der Kernel, Wie der Windows Kernel aussieht, wissen nur Microsoft Mitarbeiter, die am diesen Arbeiten. Der Linux Kernel kann jeder einlesen und in Grunde auch verbessern.
    • Linux-Systeme kennen nur Dateien keine Order - hört sich komisch an ist aber wirklich so. In Grund ist ein Order nur eine Datei in Linux, die aussage hey ich bin ein Ordner. Auf dem Sprecher-Medium wird es meist heutzutage gleichartig abgelegt. Kommt halt auf die Formatierung an und ob das System die Formatierung kennt. (Linux, Windows und Mac kennen alle NTFS, FAT, FAT16 und FAT32) - Windows hat mit vielen ext Formatierungen kein Treiber und kann es damit nicht einlesen). Das Verwalten von Daten lauft bei Linux über ein Dateisystem. Dazu ist zu sagen, dass nicht jedes Dateisystem gleich sind, jedoch in der Grundzügen schon - Wollte ich nur erwähnen, braucht man in der Regel nicht zu wissen.
    • Verarbeitung von Daten - Bei Linux, wird es so gemacht, dass Änderungen von Daten zu erst mal in einer neuen Datei geschrieben, dann in die richtige Datei übernommen und erst wenn dies gemacht würde ist wird die Datei die nur die Änderung tragt gelöscht. Windows macht das nicht so, wo liegt der Vorteil. Der Vorteil ist der, wenn der Strom ausfallt ist, sind Korrupte Dateien wieder herstellt. Das merkt man zu Beispiel dran wenn man den Stecker vom Raspi zieht um in einfach auszuschalten. Bei Start muss der Raspi dann alle Korrupte Daten zu erst mal reparier und das nimmt Zeit in Anspruch. Also wenn möglich den Raspi herunterfahren per Befehl (sudo shutdown -h now)
    • Mounten von Datenträger - Bei Windows haben Laufwerke immer ein Buchstaben (A,B,C,D) - bei Linux ist das nicht so. Dort wird die Betribssystem Festlatte als / (Stammverzeichnis) gemountet. Alle andre werden unter /mnt oder /medium oder /home/(benutername)/GerätID gemounet. Wichtig: Desktop Systeme machen, dass automatisch / Server Systeme meistens nicht. Werde die kommende Tage da genauer eingehen.
    • Linux-Distributionen ist ein mehr User-System, Windows nicht (Ausnahme Windows Terminal Server). Wenn jetzt kommt mein Computer hat aber mehre Benutzer, dann ja das kann sein. Jedoch kann ein Benutzer arbeiten. Das ist bei Linux nicht so. Das kann man daran sehen, dass unter Linux Systeme von STRG 1 bis 7 immer CLI (Command Line Interface) auf geht und man immer sich anmelden muss. Und auch, dass man über SSH-Zugreifen kann, wenn man am Host schon angemeldet ist. - Bisher kann man das nicht an ein Windows Rechner, außer bei eine Windows-Terminal Server.
    • Linux-Distributionen könne ein GUI (graphical user interface) haben oder auch nicht - Bei Windows können Server auch ohne GUI kommen aber erst ab der Version 2016.

    Welches Linux-Distributionen ist nun die beste?

    Ubuntu / Debian:

    Nun, es gibt die beste Version nicht, sondern kommt drauf an was man mit dem System machen will.

    Für Ubuntu gibt es die meisten DAU (Dümmster anzunehmender User Anleitung - soll keine Beleidigung sein, nur in der IT Üblicher Ausdruck)

    Anleitungen. Debian ist genauso aufgebaut ist aber nicht ganz so User freundlich.

    Raspbian:

    Distributionen für den Raspi (keine amd64 oder x86 Prozessor , sondern mit einem Arm Prozessor.

    Auf die Hardware abgestimmt. Abgeleitet von Debian

    (Danke an spackmack für das Melden, dass dies gefallt hat)

    Fedora / CentOS

    Bei Fedora und Cent OS handelt sich um ein Business-Linux, das man kostenlos bekommt vom Haus RatHad. Diese Versionen sind für die Firma eine Beta Version, jedoch laufen Sie wie diese keine Beta wären. Fedora ist ein reines Desktop-Systemund das CentOS reines Server-System. Dabei sind beide Systeme das gleiche nur halt ein mal mit und ein mal ohne GUI. Achtung: Die Versionen haben noch einige Programm mehr oder weniger je nach dem, ob es für ein Server / Desktop gebracht wird oder nicht.

    ArchLinux:

    Ist mein Lieblings Linux, daher kommt es noch. Man baut von den Grundlage sein Rechner auf und kann alles selber bestimmen, außer ganz wenige Sachen, die muss man so annehmen. Dauer lange zum Installieren, da man viel selber machen muss - Nur für Fortgeschrittene und Leute die wissen wollen, wie das ein Betriebsystem richtig fusionieren.

    Auflistung zu weitere Distributionen, die ich meine die keine große Rolle spielen:

    • openSuse
    • Fedora, CentOS und ArchLinux gehören auch dazu

    Als nächsten Breitag werde ich dann die Grundbefehle von Linux-Distributionen aufzeigen.

    Mit freundlichen Grüßen und ein sichere SmartHome

    PlayDiver

    2 Mal editiert, zuletzt von PlayDiver (14. August 2018 um 10:42)

  • Wichtige Befehle:

    Zu dem Beitrag werde ich kein Video machen - da ich denke das es jeder Verstehen musste

    Werde die Befehle nach und nach erweitern!

    Befehl Aufbau im Allgemeinem:

    [Befehl] [Pfad] [Option]

    Befehl Beschreibung Bemerkung
    rm /home/lachenmeiers/test -rf Löscht den Ordner, wenn der Benutzer diesen gehört Durch -f wird es erzwungen
    ls /home/lachenmeiers -la Zeigt den Inhalt von /home/lachenmeiers an in eine Tabelle mit allen versteckten Dateien / Ordner


    help:

    ist eine Auflistung aller Befehle die für die der Kernel mit liefert.

    man:

    man ist der Befehl kann man eine Erklärung für alle andre Befehle aufmachen.

    man [Der Befehl den man erklärt bekommen will]

    cd:

    Wegselen von Order

    Befehl Beschreibung Bemerkung
    cd [Ordner Pfad]
    cd ./[Ordner Pfad]
    Wechselt man zu einem Pfad Geht vom aktuellem Pferd aus
    "." ist die Angebe für den aktuellen Pfad
    cd ~ Wechselt in den Home Ordner vom angemeldeten Benutze
    cd .. Geht einen Ordner höher
    cd [Pfad] Wechsel in den Angeben Pfad


    ls:

    Befehl Beschreibung Bemerkung
    ls zeigt alle Dateien im aktuellem Order Achtung: nicht die Daten, die mit einem "." beginnen - diese sind Versteckt
    ls -la Zeigt alle Dateien im aktuellem Order Auch Versteckte und Daten werden in tabellarischer Form aufgelistet.
    ls -la [Pfad] Zeigt alle Dateien, die im angeben Pfad drin sind Auch Versteckte und Daten werden in tabellarischer Form aufgelistet.


    cp:

    Kopieren von Daten oder Order

    Befehl Beschreibung Bemerkung
    cp [Quelle] [Ziel] Kopiert nur die Date
    cp [Quelle] [Ziel] -r Kopiert den Angegeben Order mit allen Unterorder und Dateien Kann durch -f erweitert werden

    rm:

    Der Befehl um Dateien zu löschen

    Befehl Beschreibung Bemerkung
    rm [Datei] löscht die angegebene Datei - solange die Datei dir gehört
    rm [Datei] -f löscht die Datei, auch wenn schreibgeschützt Vorsichtig damit umgehen
    rm [Order] -r löscht den Order mit allen Order und Daten
    rm [Order] -rf löscht den Order mit allen Order und Daten, auch wenn schreibgeschützt Vorsichtig damit umgehen

    mv:

    Befehl um Daten oder Order zu verschieben - Achtung, wird gerne auch benutz um Dateien oder Order umzubenennen. Ist auch bei mir so, weiss den Befehl für umzubenennen gar nicht:P

    Befehl Beschreibung Bemerkung
    mv [Datei oder Order, der Umbenannt werden soll] -r Bennet den Ordner oder Datei um


    mv [Pfad zu Kopierten Date] [Pfad zu Ziel] Verschiebt den Datei der Angeben ist ins Zielverzeichnis Vorsichtig damit umgehen


    mv [Pfad zum Ordner der Kopiert verschiebt werden soll] [Pfad zum Ziel] -r Verschiebt den Ordner mit allen Verzeichnis und Dateien

    wget:

    Dateien über CLI vom Internet Herunterladen

    Befehl Beschreibung Bemerkung
    wget [http / https Link] Legt in dem aktuellen Ordner die Datei


    wget [http / https Link] [Pfad] Datei wird in das angegebenes Verzeichnis Geladen


    passwd:

    Befehl um das Passwort zu ändern

    Befehl Beschreibung Bemerkung
    passwd ändert das Passwort für den angemeldeten Benutzer
    passwd [User] ändert das Passwort für den mitgegebenen User

    sudo:

    Übergibt dem Super User(=root) den mitgebenden Befehl / Wichtig nicht in jedem System gleich mit installiert und man muss in der Root-Gruppe hinzugefügt sein. Mit dem Befehl hat man alle Berechtigungen also Vorsichtig.

    Befehl Beschreibung Bemerkung
    sudo [Befehl] sudo übergibt, dem root Benutzer den Befehl und als root ausgeführt.
    sudo -i Meldet den root Benutzer an ohne Passwort zu Verlangen


    su:

    Der Befehl ist für den Benutzer zu wechseln

    Befehl Beschreibung Bemerkung
    su [User] wechseln von Benutzer
    sudo -i
    sudo su
    Meldet den root Benutzer an ohne Passwort zu Verlangen


    Ubuntu / Debian / Raspbian:

    apt-get:

    Bei apt-get handelt sich es um eine Paketverwaltung. Diese Repository wird OS/Distributionen basiert und Version abhängig rausgebracht. Diese hat zu folge, dass die Repository verschied sind und damit nicht jedes Packt installiert werden kann. Es gibt Befehle die es ermöglichen die Repository um eine bestimmte Software zu erweitern. Auf dies werde ich hier aber nicht eingehen.


    Befehl Beschreibung Bemerkung
    apt-get update Prüft ob eine neue Repository zu Verfügung steht und gleicht ab ob neue Packte zu verfügung stehen


    apt-get upgrade aktualisiert alle installieren Packte, der Befehl apt-get update muss davor ausgeführt werden.
    apt-get upgrade -f aktualisiert alle installieren Packte, der Befehl apt-get update muss davor ausgeführt werden. erzwingt den Vorgang
    apt-get install [Packet Name] installiert das angegeben Packet mit allen Abhängigkeiten
    apt-get remove [Packet Name] Deinstalliert das angegeben Packet, nur das Packet Durch -f erweiterbar
    apt-get purge [Packer Name] Deinstalliert das Packet und alle Abhängigkeiten, die nicht mehr gebraucht werden, und löscht die Config-Daten Durch -f erweiterbar
    apt-get autoremove Löscht alle Packte die nicht mehr gebraucht werden Durch -f erweiterbar Durch -f erweiterbar

    Alle weitere Erklärungen werden auf einen Debian-Artiges System zu Grunde liegen.

    Nachstes Thema ist dann Grundinstallation von Raspberry Pi

    Mit freundlichen Grüßen und ein sichere SmartHome

    PlayDiver

    3 Mal editiert, zuletzt von PlayDiver (14. August 2018 um 00:59)

  • Grundinstallation von Raspberry Pi

    Aktuell habe ich kein Raspberry Pi frei - Neuer ist bestallt sobald er da ist werde ich dies hier das Video nachliefern.


    SD-Karte vorbereiten

    1. Das Raspberry Pi Image (Raspbian Lite - ohne Desktop Umgebung) downloaden
    2. Die ZIP-Datei entpacken
    3. Etcher downloaden
    4. Etcher installieren
    5. Programm öffnen und alles auswählen
      schimmer-media.de/index.php?attachment/3840/
    6. Flash drücken
    7. Nach Fertigstellung DS-Karte in den Raspberry Pi stecke

    Erste Schritte nach dem Start vom Raspberry Pi

    1. Anmelden am Raspberry Pi (Benutzername: pi / Passwort: raspberry (Nach der Grundinstallation ist das Tastatur-Layout Englische. Daher ist das y mit dem z getauscht)
    2. sudo raspi-config eingeben - Es geht eine Config-Menu auf
      schimmer-media.de/index.php?attachment/3841/
    3. Punkt "8 Update" auswählen (führt apt-get update && apt-get upgrade)
    4. Punkt "4 Localisation Options" auswählen
    5. Punkt "5 I1 Change Locale" auswählen und dann "de_DE.UTF-8 UTF-8" auswählen (Auswahl mit Leertaste) und bestätigen. Dann wieder auf de_DE.UTF-8 UTF-8 auswählen wieder bestätigen.
    6. Anschließend den Punkt "4 Localisation Options" und dann "I2 Change Timezone"
      schimmer-media.de/index.php?attachment/3842/
      Und das dann Europa --> Berlin wählen
    7. Als Abschluss für die Lokalisierung gehen wir noch mal auf "4 Localisation Options" und wären dann "I3 Change Keyboard Layout" aus. - Es dauet kurz und dann hat der Raspberry Pi hat nun deutsche Tastatur-Layout.
    8. Letzter Schritt vor dem Neustart machen wir SSH an. Dazu gehen wir auf "5 Interfacing Options" und wählen dann auf "P2 SSH" und dann beantworten wir die Frage mit "Ja oder Yes".
    9. Wir geben noch "ip a" ein - Wir bekommen solch eine Ausgabe:
      schimmer-media.de/index.php?attachment/3843/
      Dort suchen wir den eth0 Adapter und suchen nach "inet" die folgende Nummer ist die IPv4 Adresse mit Subnetz angabe: "192.168.40.100/24" Davon müssen wir uns nur noch 192.168.40.100 merken.
    10. Anschließend gehen wir auf "Finish" und anschließend geben wir "sudo reboot" ein


    Mit SSH sich auf den Raspberry Pi schalten

    Da ich das Video gerne Plattformunabhängig machen will benutze ich ein SSH-Client, der für jedes Betriebssystem gibt. Das Programm heißt: Termius. (Es geht natürlich auch PuTTY und alle andre). Herunterladen und installieren)

    1. Das Programm Termius öffnen
      Es erscheint so ein Bildschirm
      schimmer-media.de/index.php?attachment/3844/
    2. "Host" auswählen und auf"New Host" klicken
      schimmer-media.de/index.php?attachment/3845/
      Die Felder ausfüllen und dann auf Save
    3. Nach dem Sprechern wird der Host angezeigt. Nun nur ein Doppelklick auf Eintrag und es geht ein SSH-Sitzung auf.
    4. Nun ändern wir das Passwort mit dem Befehl "sudo passwd pi"
      Zwei mal das neue Passwort eingeben und Fertig

    Nächste Erklärung wird es darum gehen, wie wir den SSH-Zugriff absichern werden kann. (Kein Pflicht ist jedoch besser, vor allem wenn man vom Internet zugreifen möchtest)

    Mit freundlichen Grüßen und ein sichere SmartHome

    PlayDiver

    Einmal editiert, zuletzt von PlayDiver (14. August 2018 um 10:34)

  • SSH-Zugriff absichern

    Über SSH-Zugriff informiert werden

    "sudo nano /etc/profile.d/ssh-telegram.sh" und dort die folgende Datei einführen und folgende Werte anpassen

    USERID"DeineCahtID anpassen" - Um deine ChatID zu ermitteln, schreibe dein Bot an (wenn du den gleichen Benutzen willst wie bei IoBroker musst du die Instanz kurz Pausieren für den Schritt) - Dann auf https://api.telegram.org/bot[DeinBotTokenHierEinfügen]/getUpdates gehen den Wert nehmen den ich aus geschwatzt habe.

    Wir müssen außerdem das Packet jq installieren. Das wird mit den folgenden Befehle gemacht

    Code: jq Installation
    sudo -i
    cd /tmp
    wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-1.5.tar.gz
    tar xfvz jq-1.5.tar.gz
    cd jq-1.5
    ./configure && make && sudo make install

    schimmer-media.de/index.php?attachment/3846/

    KEY="DeinTelegramKey Eintragen"

    Das dann das Skript speichern und anschließend "sudo chown root:root /etc/profile.d/ssh-telegram.sh" eingeben. Nun gehört dem root die Datei und keiner außer sudo Berechtigte kann diese andern.

    SSH per Zwei Faktor Authentifizierung absichern

    Meine ganze SSH-Server bekommen eine Zwei Faktor Authentifizierung eingedrückt. Das heißt ich melde mich mit Benutzer und Passwort an und brauche zusätzlich noch einen 6 Stelligen Code der sich alle 30 Sec ändert. Der Vorteil bei diesem Vorhaben ist der, dass Passwort angriffe zwar gefahren werden können, jedoch beim zweiten Authentifizierung scheitern die meisten solche Angriffe dann.

    Für dies einzurichten müssen wir folgendes tun:

    1. Das Packet ntp installieren (mit dem Befehl "sudo apt-get install ntp"
    2. Als nächstes starten wir den Service neu ("systemctl restart ntp.service")
    3. Nun installieren wir uns das Google Zwei Faktor Programm (sudo apt-get install libpam-google-authenticator)
    4. Dazwischen laden wir die "Google Authenticator" auf das Handy runter
    5. Nun geben wir in Terminal "google-authenticator" ein
      Alle kommende Frage beantworten wir mit einem y
    6. Wir nehmen die App öffnen diese Klicken auf + und scannen den QR ab - Nun sollte ein 6 Stlliger Code auftauchen der immer alle 30 Sec ausgeschaut wird. Im Fall das das Bild nicht angezeigt wird nehmen wir den "Your new secret key is: UUPREFHXXSDKE6Z6" Eintrag zu Hilfe und geben diesen in der APP ein. Es sollte sich genauso die 6 Stellen erscheinen
    7. Nun müssen wir nur noch ein paar Dateien anpassen.
      Zu erst mal gehen wir in die Datei sshd "sudo nano /etc/pam.d/sshd" - Ganz am Schluss der Datei fügen wir folgende Inhalt ein:
      "auth required pam_google_authenticator.so nullok" - Das nullok erlaubt das Zugriffen mit einem SSH-Key ohne zwei Faktor Authentifizierung
    8. Nun gehen wir in die Datei "nano /etc/ssh/sshd_config" und suchen dort den Eintag "ChallengeResponseAuthentication" und stellen diesen auf "yes"
    9. Anschließend starten wir den Service neu:"sudo systemctl restart sshd.service"
      Ab nun werden wir per SSH-Zugriff immer nach dem 6 Stelligen Code gefragt


    Root-Benutzer deaktivieren für SSH

    1. "sudo nano /etc/ssh/sshd_config" und nach dem Eintrag "PermitRootLogin" suchen diesen auf "NO" setzten, wenn dies nicht der Fall ist.
    2. systemctl restart sshd.service

    Portweiterleitung für SSH

    Ich werde hier keine Portweiterleitung erklären, da dies bei jedem Router änderst ist. Nur ich wollte sagen, wenn ihr SSH freigeben wollt, dann bitte unter einen andren Port als 22 - also nach außen hin. Damit musst ihr vom Internet zwar immer ein Port mitgeben. Nur die meistens Bots können euch schon mal nicht angreifen, da die meistens auf denn Port 22 lauen und oft auf nur root Benutzer gehen. In Zwischen gehen diese auch gerne auf den Pi Benutzer, aber das vernachlässige ich. In Grunde sollte man ein andren User anlegen und diesem keinen Stadtrat Name vergeben. Und den Pi Benutzer den SSH-Zugriff ausschalten.

    Nun sollte der SSH-Zugriff so weit sicher sein. Eine Absolute Sicherheit gibt es nicht, aber wir werden zumindest benachrichtigt wenn jemand auf das System zugreift.

    Hoffe, dass ich damit auch weiter helfen könnte. Im nächsten Punkt nehmen wir uns mal den IPTABELS an. Dies wird aber noch paar Tage auch sich warten lassen. Da ich jetzt zu erstmal die Videos für diese ganze Erklärungen machen möchte.

    Mit freundlichen Grüßen und ein sichere SmartHome

    PlayDiver

  • IPTABLES

    Was ist IPTABLES ?

    IPTABLES ist ein Programm mit dem man unter Linux-Systeme eine Firewall auf den Host(System) bringt. Die Firewall ist nur ein Port und IP Blocker sperre / offner, also damit keine Mustererkennung oder ähnliches.

    Für wenn macht IPTABLES Sinn?


    IPTABLES macht dann Sinn, wenn der Server aus den Internet erreichbar ist oder wenn man die Sicherheit des LAN's Misstraut oder generell auf Nummer sicher gehen will(Beim Fall zwei sollte man dann noch mal alles überdecken)

    IPTABLES würde ich hier nur die Leute empfehlen, die den Service per Portweiterleitung.

    Wenn dieser Beitarg ein Linke bekommt werde ich eine Erklärung dazu machen, ansonsten gehe ich davon aus, dass es niemand braucht.

    Als nächstes die Installation vom ioBroker (mit Downgrade von NodeJS)

    Mit freundlichen Grüßen und ein sichere SmartHome

    PlayDiver

  • Installation vom ioBroker (mit Downgrade von NodeJS) für den Raspi Pi

    Anleitung, da ich gemerkt habe, dass Anleitung von SchimmerMediaHD veraltet ist, da NodeJS 5 draußen ist.

    Nach der Installation, die ich oben angeführt habe, machen wir hier weiter. In Grunde dürfte keine NodeJS Packet drauf haben. Um sicherzustellen, dass es auch wirklich so ist führen wir die folgenden Schritte aus.

    Code: NodeJS entfernen
    sudo apt-get --purge remove node
    sudo apt-get --purge remove nodejs
    sudo apt-get autoremove
    sudo reboot

    Anschließend erweitern wir die Repos mit folgendem

    Code: Repos erweitern
    url -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
    sudo apt-get install -y build-essential libavahi-compat-libdnssd-dev libudev-dev libpam0g-dev nodejs
    reboot
    Code: Downgrade von NodeJS
    sudo npm install -g npm@4
    Code: Installation von ioBroker
    sudo mkdir /opt/iobroker
    sudo chmod 777 /opt/iobroker
    cd /opt/iobroker
    sudo npm install iobroker --unsafe-perm
    sudo iobroker start

    Mit freundlichen Grüßen und ein sichere SmartHome

    PlayDiver

  • Sudo und Root

    Ich habe ja jetzt schon einigen hier geholfen und habe dabei gemerkt, dass die meisten als root einloggen, wenn sie Arbeiten an dem System durchführen. Nun das ist nicht schlimm, aber nicht gerade Optimal.

    Was ist root

    Der root Benutzer ist vergleichbar mit dem Administratoren Benutzer unter Windows. Jedoch wenn wir es genau nehmen kommt der System Benutzer unter Windows näher dran. Bei Windows haben wir (im normal Fall) nur Verwaltungsrechte, aber keine System-Rechte.

    Bei Linux haben wir Systemrechte mit dem Benutzer root. Egal, was wir ausführen es wird als root ausgeführt, wenn wir mit dem Benutzer root angemeldet sind. Das heißt aber auch, dass jeder Skript oder jeder Befehl, den wir aus dem bösen Internet kopieren unser System lahm legen kann.

    Wir merken uns :

    • root hat keine Administrationsrechte, sondern Systemrechte
    • Jeder Befehl wird mit allen Rechte ausgeführt

    Was ist sudo

    Sudo ist ein Packet, dass auf den meisten Systeme drauf installiert ist und heißt ganz frei übersetzt "Super User du machen". Also ermöglicht, dass Packet, einzelne Behle mit Systemrechte auszuführen. Das schöne dabei ist es das nur der eine Befehl mit diesen Rechte ausgeführt wird.

    Die Konfiguration von diesem Packt kann man in der Datei "/etc/sudoers" zumindest bei Debian-Artige Systeme. Beim Respi wird kein Passwort für den sudo Befehl gebraucht. Dies kann zum Beispiel in dieser Datei eingestellt werden. Die Benutzer, die sudo ausführen dürfen, sind damit eine Art Administrationsrechte, denn im sudo Packet, kann man auch bestimmte Befehle abfangen und diese dann blockieren.

    Ich wollte, das nur mal hier hinschrieben, das ihr den Unterschied wisst und das beste damit macht.

    Aber was ihr macht ich euch überlassen.

    Mit freundlichen Grüßen und ein sichere SmartHome

    PlayDiver

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!