Der unbekannte Befehl – „reset“ der Rettungsanker

Symbolisiertes Terminal

Wem ist das noch nicht passiert und hat versucht eine binäre Datei mit cat oder less versucht anzuzeigen? Das Ergebnis ist dann man erhält eine unlesbare Kolonne an mehr oder minder seltsamen ASCII-Zeichen:

▒AE
   �-@s��@A�]
J
 ,.`s��Wc�D▒�D �h▒ADD.�s��]B�E▒�E �E(�H0�H8�G@j8A0A(B B▒B�.�s���.�s��b�a�lr�l�r�h`r�h s�� �0�`�`�v��p�p���0����q0�p���m�um@u`� ����� �����@�p��� �0�@���о�� �����@���p���tL�Ӌ׋݋��������������������t�f����▒� �%�,�7�>�G���a8�bU�d_�De��o����h��i��k��n��G��qҌrf�sI�wڌA��B��F�����
�H���#��(�I���/�L;�NC�Q���N�R{��X��m��k�Tt��s��������~����Z�����~�����}���      �����ό����
                                                                                          �>�������▒�� ���#�&�)�,�/���2������8�=�����;��%�2�?�L�S�8��[�v
�l▒��� �                                             @
�
 ▒ �  �*P     ▒������o����o���o����o��6@F@V@f@v@�@�@�@�@�@�@�@�@AA&A6AFAVAfAvA�A�A�A�A�A�A�A�ABB&B6BFBVBfBvB�B�B�B�B�B�B�B�BCC&C6CFCVCfCvC�C�C�C�C�C�C�C�CDD&D6DFDVDfDvD�D�D�D�D�D�D�D�DEE&E6EFEVEfEvE�E�E�E�E�E�E�E�EFF&F6FFFVFfFvF�F�F�F�F�F�#����?������Չe�����ˍȍȍ΍ԍڍ����������`�%�7a5f86cd6394e8f583c14d786d13b3bcbe051b87.debug�cU".shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.got.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.plt.data.bss.gnu_debuglink
                                                                        ���� !��$4��>o
                                                                                     ��`
                                                                                       ▒F  �N���o[���o��jhh▒tB�*�*�    ▒~@@y @ @���F���F�F�%��l�l  �pp)Q �,�,��(�(�����8
�����#�h &�� ��4

Weiterlesen

Spamassassin – warning: description exists for non-existent rule USER_IN_WELCOMELIST_TO

Käfer (Bug)

Seit ein paar Tagen hatte ich auf dem Server unter Debian Buster immer wieder folgende Fehlermeldungen beim täglichen Update von Spamassassin der Nachts per Cron-Job startet:

/etc/cron.daily/spamassassin:
Failed to set filetime 1594704651 on outfile: Die Operation ist nicht erlaubt
Failed to set filetime 1594704651 on outfile: Die Operation ist nicht erlaubt
Failed to set filetime 1594704651 on outfile: Die Operation ist nicht erlaubt
Failed to set filetime 1594704652 on outfile: Die Operation ist nicht erlaubt
config: warning: description exists for non-existent rule USER_IN_ALLOWLIST_TO

channel: lint check of update failed, channel failed
sa-update failed for unknown reasons

Weiterlesen

Der unbekannte Befehl – „pidof“, „pkill“, „pgrep“ die Prozessbeherrscher

Symbolisiertes Terminal

In diesem Teil fasse ich gleich drei Befehle zusammen da sie von der Funktion her sehr verwandt sind. Alle diese Befehle sind für das Verwalten und Kontrolle von Prozessen mit Hilfe des Prozessnamens zuständig. Intern werden Prozesse über die PID (process identifier) verwaltet – eine mehr oder minder vom Betriebssystem zufällige aber zum aktuellen Zeitpunkt einmalig vergebene Prozessnummer. Wenn man sich mit ps die Prozesse anzeigen lässt erhält man neben anderen Informationen auch die Prozessnummer:

$ ps aux | grep sshd
root 974 0.0 0.0 15948 1248 ? Ss Jul09 0:00 /usr/sbin/sshd -D
max 15984 0.0 0.0 6088 892 pts/6 S+ 18:07 0:00 grep sshd

Der Übersichtlichkeit wurde hier im Beispiel nach dem Prozess für den ssh-Daemon (sshd) mit den Optionen für alle Prozesse gesucht. Die PID 974 steht hier für den Daemon und 15984 für den Suchprozess selber. Auch top, htop usw. eignen sich für die Anzeige der PID.

Weiterlesen

Authentifizierung über ssh mit einem Yubikey

Bild eines Yubikey Neo

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.

Weiterlesen

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

Benchmark von Datenträgern mit Linux-Bordmitteln

Symbolisiertes Terminal

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.

Weiterlesen

glances als Systemmonitor

Symbolisiertes Terminal

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.

Weiterlesen

kais-universum.de