Der unbekannte Befehl – „sar“ der Retrosammler

Symbolisiertes Terminal

Ein weiteres Kind aus der Familie der sysstat-Programme ist sar was für „System Activity Report“ steht. sar besteht eigentlich aus folgenden Teilprogrammen:

  • sar – zeigt die aufgezeichneten Daten an.
  • sadc – der „System Activity Data Collector“ zeichnet die Daten zu Systemaktivitäten im binären Format auf.
  • sa1 – ein BASH Skript was sadc im Hintergrund nutzt. Es wird alle zehn Minuten per crond aufgerufen (/etc/cron.d/sysstat).
  • sa2 – ein BASH Skript das zum Schreiben des täglichen Reports verwendet wird. Es wird per crond täglich ein Mal aufgerufen (/etc/cron.d/sysstat).
  • sadf – zeigt die aufgezeichneten Daten an und bietet dabei unterschiedliche Formate wie CSV, XML usw. an.

Weiterlesen

Der unbekannte Befehl – „iostat“ der Gatekeeper

Symbolisiertes Terminal

iostat ist ein Werkzeug zur Überwachung der Geschwindigkeit der Ein/Ausgabe-Geräte (I/O-Devices) und wird normalerweise als Teil einer Performance-Analyse verwendet. In Debian-System ist es Teil des Paketes sysstat und kann mit apt-get install sysstat installiert werden. Alle sysstat-Programme lesen ihre Werte aus dem proc-Dateisystem des Linux-Kernels aus und können daher nicht mehr Daten zur Verfügung stellen als der Kernel nach /proc schreibt.

Ein einfaches Ausrufen von iostat ohne Optionen führt zu einer Ausgabe die so ähnlich aussieht  (Die Ausgabe ist farblich unterlegt aber auf diese Wiedergabe verzichte ich hier):

$ iostat
Linux 4.19.0-8-amd64 (Marvin)           07.07.2020          _x86_64_                (4 CPU)

avg-cpu:           %user            %nice          %system         %iowait          %steal         %idle
                         8,80               0,00              4,06                0,05               0,00            87,09

Device                                      tps                kB_read/s         kB_wrtn/s     kB_read    kB_wrtn
sda                                          4,01                24,31                201,88         8408878    69819736

Weiterlesen

Der unbekannte Befehl – „file“ der Dateikenner

Symbolisiertes Terminal

Der Befehl ist nützlich wenn wir Dateien haben und wissen wollen welchen Zweck diese Datei hat. In der Windows-Welt bestimmt oft die Dateiendung über die potentielle Funktion einer Datei. Windows-Benutzer sehen diese Endung oft überhaupt nicht da sie vom Betriebssystem ausgeblendet wird und es stillschweigend davon ausgeht, dass die Endung korrekt ist – was in den allermeisten Fällen sicher auch zutreffen wird. Jedoch ist es sowohl unter Windows als auch unter Linux möglich einer Datei eine falsche Dateiendung zu geben. Böse Buben machen dies z.B. um bei schädlichen Email-Anhängen die Funktion zu verschleiern. Eine Datei mit dem Namen boese_datei.pdf.exe wird unter Windows oft nur als boese_datei.pdf angezeigt da die Dateiendung verschleiert wird und erscheint dadurch eine harmlose PDF-Datei statt ein ausführbares Programm zu sein.

Weiterlesen

Der unbekannte Befehl – „update-alternatives“ der Alternative

Symbolisiertes Terminal

In der Linux-Welt ist man in der glücklichen Lage oft Alternativen für einzelne Aufgaben zu haben. Anders als in der Windows-Welt bringen die meisten Linux-Distributionen einen Paketmanager mit die für eine Aufgabe verschiedene Programme zur Verfügung stellen. So gibt es z.B. viele ASCII-Editoren, Webbrowser oder E-Mail-Clients. In der Debian-Welt gibt es mit update-alternatives ein Tool zur Verwaltung dieser Programme mit konkurrierenden Funktionen. Streng genommen dient das Programm nur dazu symbolische Links auf diese Programme zu setzen.

Weiterlesen

Der Zeitstempel unter Linux

Männchen mit Uhr

Der oder besser gesagt die Zeitstempel sind eine Eigenschaft von Dateien. Linux kennt vier Zeitstempel von denen drei ausgelesen werden können und für den Benutzer eine gewisse Relevanz haben. Die Zeitstempel einer Datei können mit dem Befehl stat ausgelesen und mit dem Befehl touch manipuliert werden.

Die drei Zeitstempel sind:

  1. Access Time (atime)
  2. Modify Time (mtime)
  3. Change Time (ctime)

Der Befehl stat zeigt die entsprechenden Zeitstempel:

$ stat ipsum.txt 
[…]
Zugriff : 2020-06-11 18:50:30.037729391 +0200
Modifiziert: 2020-06-05 18:18:11.006297528 +0200
Geändert : 2020-06-12 22:11:01.126806416 +0200
[…]

Weiterlesen

Der unbekannte Befehl – „stat“ der Dateistatus

Symbolisiertes Terminal

In einem weiteren Teil der Serie „Der unbekannte Befehl“ soll hier jetzt stat vorgestellt werden. Dieser Befehl wurde zwar bereits im Artikel über touch vorgestellt aber dieser Artikel hier widmet sich exklusiv diesem Befehl. Mit Hilfe von stat können verschiedene Eigenschaften einer Datei oder eines Ordners ausgelesen werden. Dazu gehören die Zeitstempel aber auch die Zugriffsrechte und allgemeine Dateiinformationen. Wird stat ohne Optionen aufgerufen, so erhält man als Beispiel folgende Ausgabe:

$ stat ipsum.txt 
Datei: ipsum.txt
Größe: 146 Blöcke: 8 EA Block: 4096 reguläre Datei
Gerät: 809h/2057d Inode: 7365099 Verknüpfungen: 2
Zugriff: (0644/-rw-r--r--) Uid: ( 1000/ max) Gid: ( 1000/ max)
Zugriff : 2020-06-11 18:50:30.037729391 +0200
Modifiziert: 2020-06-05 18:18:11.006297528 +0200
Geändert : 2020-06-12 22:11:01.126806416 +0200
Geburt : -

Weiterlesen

Der unbekannte Befehl – „touch“ der Berührer

Symbolisiertes Terminal

Der Befehl touch wird sicher dem einen oder anderen schon einmal unter gekommen sein. Auch dieser Befehl wird oft missbraucht um z.B. in Shellscripten eine leere Datei anzulegen.

$ touch lorem.txt
$ ls -l lorem.txt 
-rw-r--r-- 1 max max 83 Jun 5 20:35 lorem.txt

legt eine leere Datei lorem.txt an.

Weiterlesen

Der unbekannte Befehl – „tac“ und „rev“ die Umkehrer

Symbolisiertes Terminal

Den Befehl cat (catenate) lernen die meisten schnell kennen. Obwohl es zu den am meisten missbrauchten Befehle gehört (to caternate: verketten), cat ist eigentlich dazu da zwei Dateien aneinander zu hängen, wird er allgemein dazu benutzt um Dateiinhalte anzuzeigen oder per Pipe an ein anderes Programm zu übergeben. Dabei entstehen auch recht unschöne Konstrukte.

Weiterlesen

Der unbekannte Befehl – „watch“ der Wiederholer

Symbolisiertes Terminal

Der Befehl watch ist der erste Teil der Serie „Der unbekannte Befehl“. watch macht eigentlich etwas völlig einfaches was man auch per Shellscript recht einfach ersetzen könnte. Ohne Optionen wäre folgendes Script eine Simulation des Befehls:

#!/bin/bash
# Eine Simulation von watch
# Aufruf "watch-sim <Befehl> <Zeit in Sekunden>"
while true
do
        $1 
        sleep $2
        clear
done

Weiterlesen

Webpage zur Anzeige der von fail2ban geblockten IP-Adressen

Irgendwie interessiert mich immer mal woher die IPs kommen die durch automatisierte Angriffscripts von fail2ban aussortiert werden. Was liegt hier nahe – ein Shellscript zu schreiben und dann mit crond regelmäßig zu erneuern. Geblockte IP-Adressen können mit:

fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split($2,a,",");for(i in a) system("fail2ban-client status " a[i])}'

ausgelesen werden. Ist ein wenig unhandlich diese unformatierte Ausgabe.

Weiterlesen

kais-universum.de