Schlagwort-Archiv: kurztipp

Let’s Encrypt ohne sudo

Die Let’s-Encrypt-Initiative stellt jedem kostenlos SSL-Zertifikate bereit, die drei Monate gültig sind. Für die automatische Erneuerung wird ein Toolset bereitgestellt. Leider tut dies schon bei der Installation Dinge, die mir nicht so gefallen (z.B. sudo apt-get -y install …).Ich habe darauf hin das Projekt letsencrypt-nosudo entdeckt. Ein Python-Script, das Letsencrypt implementiert, ohne Superuser-Rechte in Anspruch zu nehmen. Leider sind viele manuelle Eingriffe nötig, die alle drei Monate für jede zu schützende Domain wiederholt werden müssen.Daher gibt es nun letsencrypt-nosudo-unattended. Es automatisiert alles was man bei letsencrypt-nosudo noch händisch machen muss und liefert zwei Bash-Scripts mit, die bei Bedarf Apache und Nginx automatisch konfigurieren. Für diese Bash-Scripte sind natürlich Superuser-Rechte nötig, der Verfizierungsprozess selbst läuft allerdings mit eingeschränkten Benutzerrechten.

Aufgehangene SSH-Verbindung beenden

Wenn sich eine SSH-Verbindung aufhängt, weil z.B. der Host rebootet wird und die Verbindung nicht richtig geschlossen wird, kann man durch Eingabe von ~. die Verbindung clientseitig beenden und damit wieder auf seiner Shell landen.Mehr Infos dazu gibt es in der Manpage von ssh oder auch hier: https://www.freebsd.org/cgi/man.cgi?query=ssh#ESCAPE_CHARACTERS

Kurztipp: Mit Bash neuste Datei(en) in einem Verzeichnis finden

In meinem Fall möchte ich den aktuellsten MySQL-Dump ermitteln.

ls -tl /var/backups/mysql/*.sql.gz|head -n1|awk '{print $8}'

Um z.B. die drei aktuellsten Dateien zu finden, verwendet man head -n3.

ARP-Cache unter Linux vergrößern

Die Ursachen von Verbindungsabbrüchen in einem größeren LAN zu finden ist schwierig, in meinem Fall war die ARP-Tabelle des Routers voll. Auf Debian-Systemen ist sie standardmäßig auf 1024 Einträge begrenzt. Ist der Adressraum des Netzwerks größer, könnte jemand allein durch einen Ping-Scan die ARP-Tabelle des Routers füllen. Wenn das passiert, ist im Kernel-Log folgende Meldung zu lesen.

Dec 16 09:08:19 router kernel: [14468939.388404] Neighbour table overflow.
568204409d82f24d5fdc4f10b6c9f271001

Um die Optionen dauerhaft zu speichern, sollten sie in die sysctl.conf eingetragen werden.

net.ipv4.neigh.default.gc_thresh2=32768net.ipv4.neigh.default.gc_thresh3=65536

Kurztipp: selbstsigniertes OpenSSL-Zertifikat mit einem Befehl

Es gibt Befehle, die man nicht oft genug nutzt, um sie aus dem Kopf zu wissen, aber doch in schöner Regelmäßigkeit nutzen muss.Dazu gehört es für Testzwecke oder interne Systeme auch das Erstellen von selbstsignierten SSL-Zertifikaten. Damit geschützte Systeme sind genau so gesichert wie welche mit gekauften Zertifikaten, nur dass der Browser eine Fehlermeldung anzeigt, weil der Aussteller unbekannt ist. Für interne Zwecke also meistens durchaus ausreichend.

Kurztipp: Amavisd-new und Bitdefender for Unices

Nach einem Update auf die 64Bit-Version von Bitdefender for Unices funktionierte die Regex nicht mehr, die Amavisd-new ( hier 2.6.1 auf Debian Lenny) verwendet, um aus dem Virenscanner-Output das Scanergebnis zu lesen.Im Syslog erscheint dazu:

Aug 22 14:11:35 www amavis[26474]: (26474-01) (!!)BitDefender av-scanner FAILED: /usr/bin/bdscan unexpected exit 0, output="BitDefender Antivirus Scanner for Unices v7.90123 Linux-amd64\nCopyright (C) 1996-2009 BitDefender. All rights reserved.\n\nInfected file action: ignore\nSuspected file action: ignore\n/var/lib/amavis/tmp/amavis-20090822T141130-26474/parts/p001  ok\n\n\nResults:\nFolders: 0\nFiles: 1\nPacked: 0\nArchives: 0\nInfected files: 0\nSuspect files: 0\nWarnings: 0\nI/O errors: 0\n" at (eval 86) line 527.

Kurztipp: Java erkennt Timezone nicht richtig unter Debian & Co.

Damit ich es nicht vergesse und andere das Problem vielleicht auch haben:Unter Debian tauchte das Problem auf, dass sämtliche Zeiten nicht der Sommerzeit entsprachen und somit um eine Stunde versetzt waren.Da dies in vielen Fällen (z.B. Logging) zu Problemen führen kann, sollte eine Lösung her.

Kurztipp: usermod und die zusätzlichen Gruppen

Gerade stellte sich mir das Problem: Ein Script soll beim Anlegen eines Users und einer Gruppe den Web-User (www-data) der neuen Gruppe hinzufügen. Das funktionierte auch wie gewünscht:

usermod -G user123 www-data

Das Problem: Der Benutzer www-data ist nun zwar Mitglied der Gruppe user123, hat allerdings in allen anderen Gruppen “vergessen”, dass er dazu auch gehören sollte. Das sollte natürlich nicht passieren, denn der Aufruf soll ja nur ergänzend und nicht ersetzend sein. Ein Blick in die Manpage zeigt die einfache Lösung, die ich leider bisher übersah:

usermod -G user123 -a www-data

Der Parameter -a hängt die neue Gruppe an die bisherigen an und erhält damit die Gruppenzugehörigkeiten.

Debian user, checkt eure sources.list!

Debian Lenny soll aller Voraussicht am nächsten Wochenende (14. Februar 2009) vom Status testing in stable gehoben werden. Die derzeit aktuelle Version Debian Etch wird damit in den Status  oldstable wechseln.Mit dieser Veränderungen ist auch eine Änderung der Paketbasis verbunden. Wer nämlich in der Paketverwaltung APT (Tools apt bzw. aptitude) einfach nur auf den stable-Zweig verweist, wird ab der Statusänderung plötzlich statt mit Etch-Paketen mit Lenny-Paketen versorgt.Dies führt dazu, dass nahezu alle installierten Pakete veraltet sein werden und nach einem Upgrade schreien.

Kurztipp: Windows Installer-Fehlermeldung “Ungültiges Laufwerk (X):”

Heute hatte ich mal wieder einen “interessanten” Fehler, dessen Grund und Beseitigung sehr merkwürdig war:

Eine Installation, welche auf dem Windows Installer basierte, brach mit der Fehlermeldung “Ungültiges Laufwerk Q:” ab. Nun gab es wirklich kein Laufwerk Q: und es war auch nicht ersichtlich, woher diese Information kam.

Eine Überprüfung der %TEMP%-Variablen ergab keinerlei Fehler und auch sonst schien alles korrekt zu sein.

Letztlich half Google bei der Lösung: Im Windows-Schlüssel in der Registry für Benutzerordner ( HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders ) waren tatsächlich zwei Ordner, und zwar Eigene Bilder (My Pictures) und Eigene Musik (My Music) auf das besagte Laufwerk Q: gestellt (warum auch immer).

Nach dem Zurechtbiegen der beiden Einträge auf existierende Ordner lief die Installation fehlerfrei durch.

Es bleibt die Frage, warum der Windows Installer Zugriff auf die Ordner “Eigene Bilder” und “Eigene Musik” benötigt. Vielleicht kann mir ja das einmal jemand erläutern?

Postfix: Absender bei Mailversand von der Konsole anpassen

Heute war ich mal wieder auf dem Optimierungstripp und wollte endlich mal erreichen, dass die von dem Inhouse-Linux-Server abgesendeten Mails (von Cronjobs usw.) nicht immer mit dem Namen des ausführenden Users erscheinen, sondern mit etwas aussagekräftigerem. Weiterhin werde ich der Vollständigkeit halber gleich auch noch erklären, wie man die Absenderadresse so umschreibt, dass man lokalen Usern mit lokaler Domain wie root@server3 (welche aus dem Internet nicht erreichbar wären) auch vernünftig antworten kann.

Postfix: Absender bei Mailversand von der Konsole anpassen weiterlesen

Kurztipp: Unix Toolbox

Immer wieder braucht man ein paar Programme und ist sich nicht mehr über die Syntax bzw. die Möglichkeiten bewusst oder der Name des Tools will partout nicht einfallen. Da kann eventuell diese Auflistung helfen, die alltägliche Tools aus vielen Bereichen kurz beschreibt und so die Wissenslücke hoffentlich wieder schließen kann.

Link: Unix Toolbox

via adminlife.net

Kurztipp: Besser suchen in der Konsole

Man kennt das: Man sucht eine Variable oder einen bestimmten String und weiß partout nicht, in welcher der 10.000 Dateien sich diese/r befindet.

Auf der Konsole hat man grep zur Verfügung. Beim Studium der manpage von dem Tool fiel mir Parameter –color auf, den ich seit dem ständig nutze. Er bewirkt, dass der Suchbegriff innerhalb der Zeile farbig markiert wird, sodass er leichter zu entdecken ist. Sehr praktisch.

Beispiel:

grep --color -r "Suchbegriff oder regulärer Ausdruck" /etc

Mittels eines Eintrags in der .bashrc im eigenen $HOME-Verzeichnis kann man auch grep dazu bringen, jedes Mal den Suchbegriff zu markieren.

Manuell eintragen…

alias grep='grep --color'

…oder gleich direkt an die Datei anfügen:

echo -n "alias grep='grep --color'" >> ~/.bashrc

Kennt ihr noch mehr sinnvolle Parameter? Immer her damit!

Kurztipp: mcedit – der bessere Editor

Nun bin ich vielleicht nur faul gewesen, aber weder das kryptische vi noch das schmucklose joe konnten mir als Lieblingseditor auf der console so richtig gute Dienste leisten.

Keine Tastenorgien a la vi, keine Fingerverenkungen wie bei joe – einfache Bedienung und sinnvolle Features, das will ich.

Also habe ich den Editor, der im Midnight Commander (DEM altehrwürdigen Norton Commander-Clone) mitgeliefert wird sehr zu schätzen gelernt. (Btw: Der Debian-Paketname zur Installation ist “mc”.)

Nun ist es aber nicht immer sinnvoll den mc zu starten, nur um eine Config mit der Taste F4 zu bearbeiten. Daher wollte ich den Editor direkt aufrufen können. Offensichtlich gab es damit leichte Probleme, sodass bei Debian automatisch ein Mini-Wrapper namens mcedit-debian mitgeliefert wird. Leider ist dieser Name trotz bash-completition nicht sonderlich handlich. Also fix einen Symlink erstellt…

ln -s /usr/bin/mcedit-debian /usr/bin/edi

…und schon kann man auf der Konsole von überall mittels

edi configdatei.conf

jede Textdatei editieren.

Nun störte mich auch noch, dass ich z.B. die Cronjobs mit vi bearbeiten musste. Dazu gibt es das tolle Verzeichnis /etc/alternatives, welche Links auf die “Standardprogramme” zur Verfügung stellt.

rm /etc/alternatives/editor
ln -s /usr/bin/mcedit-debian /etc/alternatives/editor

Somit ist nun mcedit der Standardeditor und wird z.B. beim Aufruf von

crontab -e

verwendet.

HTH.

EDIT: Gerade habe ich hier gesehen, dass diverse Seiten sich bereits intensiv mit dem Thema “Lieblingseditor” beschäftigt haben. Der mcedit kommt dort aber nirgends vor… bin ich SO anders?