Nur kurz und vielleicht von Interesse für jemanden anders als Vorlage meine üblicherweise verwendete .htaccess-Datei. Die Datei ist von einer Reihe von Quellen zum Teil abgekupfert und zum Teil durch Analyse der eigenen Logfiles selber erweitert.
Authentifizierung über ssh mit einem Yubikey
Als stolzer Besitzer eines Yubikey Neo mit vollständig eingerichteten gpg-Schlüsseln für die Email-Verschlüsselung und -signierung wollte ich den Key auch noch für die Authentifizierung von meinen root-Accounts nutzen. Bisher hatte ich den root-Login verboten und mich immer über su – zu root gemacht wenn ich es brauchte. Leider taugt dieses Verfahren bereits bei scp nicht mehr. Im Internet findet man dazu einen Haufen teils recht komplizierte Anleitungen – kryptographische Verfahren haben leider die Neigung selber recht kryptisch zu werden. Ich suchte jedoch nach einem einfachen und wenig fehlerträchtigen Weg damit die Chance des eigenen Aussperrens recht minimal bleibt. Nun gibt es die Public-Key-Authentifizierung und dazu muss man den private Key immer parat haben – im lokalen Verzeichnis ~/.ssh/ oder auf einem USB-Stick. Wenn man jedoch sowieso einen Yubikey besitzt dann bietet sich dieser jedoch an um diese Aufgabe auch noch zu übernehmen.
Der unbekannte Befehl – „sar“ der Retrosammler
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.
Der unbekannte Befehl – „iostat“ der Gatekeeper
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
Der unbekannte Befehl – „file“ der Dateikenner
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.
Der unbekannte Befehl – „update-alternatives“ der Alternative
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.
Benchmark von Datenträgern mit Linux-Bordmitteln
Weil ich es immer wieder mal nachschauen muss hier nur ganz kurz – wie macht man einen Benchmark eines Datenträgers unter Linux. Das ist im Prinzip ganz einfach und dazu kann man hdparm benutzen. hdparm werde ich sicher noch einmal ausführlicher im Rahmen von „Der unbekannte Befehl“ vorstellen und da er hat auch sonst noch viele andere nützliche Optionen hat.
glances als Systemmonitor
glances ist ein nettes Projekt um sich, abgesehen von den Klassikern wie top oder htop, einen Überblick über ein System zu verschaffen. Das Tool glances ist sogar in der Lage das Monitoring über Netzwerk abrufbar zu machen. Bietet, anders wie top, mehr Informationen über das System. glances ist in den Reporsitorien von Debian und Derivaten und kann daher mit:
apt-get install glances
installiert werden. glances wurde in Python und psutils erstellt und verfügt über eine ncurses-Oberfläche.
Geschwindigkeitstest der Internetverbindung
Manchmal möchte man die Geschwindigkeit seiner Internetverbindung testen. Es gibt zwar eine Reihe solcher Webdienste aber oft werden die von Providern betrieben und sind damit nicht unbedingt unabhängig. Ich bevorzuge auch Linux-eigene Funktionen die nicht unbedingt über eine Webanwendung funktionieren. Es gibt ein Projekt das über ein Python-Script diese Funktion zur Verfügung stellt. Das Projekt ist unter Github zu finden. Debian und Derivate stellen es jedoch auch in ihren Repositorien zur Verfügung. Installiert wird es mit:
apt-get install speedtest-cli
Der Zeitstempel unter Linux
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:
- Access Time (atime)
- Modify Time (mtime)
- 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 […]