Artikel mit Tag spielerei

Shellclear - History automatisch auf sensible Inhalte untersuchen

Das kleine Tool shellclear automatisiert das Überprüfen der Shell History auf sensible Inhalte wie Passwörter oder Zugangstoken.

shellclear

Unterstützt werden Shells wie Bash, Zsh, PowerShell und Fish. Das Tool greift auf ein Pattern-File zurück, welches beliebig erweitert werden kann.

Beim Start der Shell werden die Inhalte der History automatisch über dieses YAML-Pattern-File auf Passwörter und Token geprüft.

Sind sensible Inhalte vorhanden, werden diese gelistet und können gelöscht werden.

Momentan wird auf AWS Access Keys, Github Tokens, Gitlab Tokens, Slack, Cloudflare, Twitter, Facebook und vieles mehr getestet.

Installation

curl -sS https://raw.githubusercontent.com/rusty-ferris-club/shellclear/main/install/install.sh | bash

Einbinden in die Shell

nano ~/.bashrc
eval $(shellclear --init-shell)

bzw. 

nano ~/.zshrc
eval $(shellclear --init-shell)

Powershell

$PROFILE

Invoke-Expression (&shellclear --init-shell)

Fish

nano ~/.config/fish/config.fish

shellclear --init-shell | source

shellclear-findings

Verwendung

Durch das Einbinden in beispielsweise Zsh oder Bash prüft shellclear bei jedem Start automatisch auf sensible Inhalte in der History. Dieser Vorgang kann zusätzlich manuell gestartet und konfiguriert werden. Auch das Banner "your shell is clean from sensitive data" lässt sich ausblenden.

#sensible Inhalte suchen
shellclear find

#sensible Inhalte als Tabelle ausgeben
shellclear find --format table

#sensible Inhalte bereinigen
shellclear clear

#banner ausblenden
shellclear --no-banner

#eigene Config festlegen
shellclear config

#history verstecken
shellclear stash

Fazit

Kleiner Helfer für den Alltag, der tut, was er soll. Dank des YAML Formats ist das Tool beliebig erweiterbar. Abgesehen davon sind die größten Cloud-Firmen bereits integriert und das Tool erfüllt im Hintergrund seinen Zweck.

Exa - Bessere Listen unter Linux mit dem ls Ersatz

Es gibt unter Linux ein paar wenige Kommandos, welche ständig zum Einsatz kommen, dazu zählt sicherlich das Kommando ls. Nun ist dieser Befehl schon etwas in die Jahre gekommen, bietet aber eigentlich noch immer alles, was im Alltag benötigt wird.

Mit Exa gibt es einen ls Ersatz, der das staubige Image etwas aufpeppen möchte.

Bevor hier ein paar Worte zu Exa fallen noch ein kleiner Hinweis, wie ihr eure Top-Befehle auf der Konsole anzeigen könnt, damit ihr seht wie oft ihr ls eigentlich verwendet.

history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -nr

Exa - ein moderner ls Ersatz für Ubuntu/Debian

Die Installation von Exa ist denkbar einfach und kann unter neueren Systemen via apt erledigt werden.

sudo apt install exa

Auf älteren Systemen muss das passende Paket manuell heruntergeladen werden.

wget https://github.com/ogham/exa/releases/download/v0.10.0/exa-linux-x86_64-v0.10.0.zip

sudo install bin/exa /usr/local/bin/

Um das Tool zu verwenden, reicht ein einfaches exa aus. Allerdings wird beispielsweise ein Ubuntu Nutzer schnell feststellen, dass es im Vergleich zu ls fast keine Unterschiede gibt, denn diese Distribution unterstützt bereits eine farbige Ausgabe.

Exa entfaltet seine Kraft also erst in der Tiefe. Hier ein paar Beispiele.

exa-lsEin schlichtes

exa -lF

wird sich bereits stark von ls -l unterscheiden, einerseits farblich, andererseits werden durch den Operator -F für file type zusätzliche Informationen angezeigt.

Praktischerweise bringt exa noch weitere Funktionen mit. So wird Git unterstützt und zeigt mit N für neue Dateien (staged) und M für geänderte Dateien (unstaged) weitere relevante Informationen an.

exa -l --git

Auch eine Baumansicht ist dabei und ermöglicht eine strukturierte Ansicht, ähnlich wie tree.

exa --tree --level=3

Daneben ist es ebenfalls möglich einen relativ mächtigen Filter anzuwenden oder Logos einzubinden. Bei letzterem muss allerdings erst die passende Schriftart installiert werden.

Eine ausführliche Dokumentation ist bei exa direkt zu finden.

exa-logos

Überaus praktisch empfinde ich die Möglichkeit, sich Listen nach gewünschten Werten wie Größe, Alter, usw. sortieren zu lassen.

exa -l --sort=size
exa -l --sort=age

Fazit

Nutzer, die ls im Alltag etwas aufmotzen möchten, sind bei exa gut aufgehoben. Dank der Paket-Installation in neueren Distributionen ist die Hemmschwelle, einen kurzen Blick zu wagen, relativ gering. Probiert es einfach mal aus, vielleicht sagt es euch ja zu.

Bpytop - Systemressourcen im Blick behalten

Letzte Woche wurde der Systemmonitor Bpytop auf heise.de behandelt, leider hinter einer Paywall. Da ich hier schon Glances vorgestellt habe, möchte ich euch den Bashtop Clone nicht vorenthalten.

Bpytop

Der Bashtop Clone auf Python Basis bietet ein Überblick der vorhandenen Ressourcen wie CPU, RAM, SSD, Netzwerk, CPU-Temperatur, Akkuladestand und Prozessen.

Anders als gängige Tools wie ps oder top bietet Bpytop nach dem animierten Start eine schicke Oberfläche und ähnelt daher eher htop oder dem ebenfalls auf Python basierenden Glances.

bpytop-sys-monitorDie GUI selbst bringt eine Themesunterstützung mit und ermöglicht es, die Darstellung auf insgesamt 14 Themes wie dracula oder solarized anzupassen.

bpytop-menue

Die Menüsteuerung kann nicht nur via Tastatur (M), sondern auch via Maus erreicht werden, denn Bpytop bringt eine Mausunterstützung mit, was die Bedienbarkeit für einige vereinfachen dürfte.

So lassen sich beispielsweise Prozesse einfach anklicken und können bei Bedarf mit Terminate, Kill oder Interrupt beendet werden.

Die allgemeine Bedienung erklärt sich quasi von selbst. Angezeigte Werte lassen sich via Maus oder Tastatur näher untersuchen oder beeinflussen.

Wie oben bereits erwähnt lässt sich die Temperatur der CPU Kerne ebenfalls überwachen, dazu muss teilweise noch ein weiteres Paket bei der Installation beachtet werden, in der Installationsanleitung lassen sich die Details dazu finden.

bpytop

Installation Bpytop unter Debian/Ubuntu

Seit Debian Bullseye kann das System Kontrollzentrum über den Standardweg installieren.

sudo apt install bpytop

Alternativ kann weiterhin die Pythonvariante verwendet werden. Weitere Möglichkeiten lassen sich auf der Github Seite finden.

pip3 install bpytop --upgrade

Für die Temperaturüberwachung wird das Sensorpaket benötigt. Dieses lässt sich wie folgt installieren und kalibrieren. Danach sollte in der oberen Ecke von Bpytop die einzelnen Kerntemperaturen angezeigt werden.

sudo apt install lm-sensors

sudo sensors-detect

Fazit

Bpytop ist vor allem ein sehr grafisches Tool, auch wenn es im ersten Moment etwas spielerisch daher kommt, hat es durchaus seinen Reiz, mit Maus und Tastatur über die Konsole zu huschen.

Punkten kann das Tool durch seine bildlichen Auswertungen. Egal ob bei der grün/roten Festplatten bzw. Speicherbelegung oder dem animiertem Netzwerkverkehr.

Durch die Integration in Bullseye lässt es sich nun einfach testen und ausprobieren und erfährt sicher bald eine größere Fanbase

Lösung: Monero Wallet konnte nicht geöffnet werden std::bad_alloc

Dieser Bitcoin wird ja gerade wieder durchs Dorf gejagt, somit lohnt sich auch wieder ein Blick ins Monero Wallet dachte ich mir, allerdings erhielt ich beim Öffnen diesen feinen Fehler:

Wallet konnte nicht geöffnet werden std::bad_alloc bzw. "Couldn't open wallet: std::bad_alloc"

Monero

„Alles weg?“, geht einem fix durch den Kopf, muss aber nicht. Denn die GUI, welche seit Jahren auf einer Platte schlummerte, war einfach total veraltet.

Mit einer aktuellen GUI Version (0.17.1.6) von getmonero lief dann alles wieder wie geschmiert.

 

Ubuntu 20.04 LTS für Windows 10 über Microsoft Store installieren

Diese Woche wurde bekanntlich eine neue Ubuntu LTS Edition veröffentlicht.

Für manche schnelle Teststellungen ist Ubuntu unter Windows eine recht praktische Option. Nun wurde mit Zuge des neuen Ubuntu 20.04, die Windows Variante im Store veröffentlicht.

Installieren lässt sie sich auf die altbekannte Weise:

WSL über die Powershell Konsole aktivieren, Windows Store öffnen und herunterladen.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

ubuntu20.04-windowsDanach könnt ihr die Ubuntu Konsole direkt über CMD oder Powershell öffnen, dazu muss "wsl" eingegeben werden.

wsl-befehleMit dem Befehl "wsl --list" können die installierten Varianten aufgelistet werden.

Mit "setdefault" kann auf die neue Version gewechselt werden.

wsl -s Ubuntu-20.04

In Place Upgrade auf Ubuntu 20.04 LTS

Wsl unterstützt angeblich ein direktes Update auf die neue Version, dies geschieht mit "do-release-upgrade". Da aber momentan die Update Version 20.04.1 LTS noch nicht verfügbar ist, muss der Parameter "d" angehangen werden.

do-release-upgrade -d

In meiner Teststellung wollte dies nicht sofort gelingen.

Nach einer sauberen Neuinstallation mit "wsl --unregister Ubuntu-18.04" startete die Updateprozedur zumindest.

Der nächste Fehler lies nicht lange auf sich warten.

Progress: [ 61%]
Checking for services that may need to be restarted...
Checking init scripts...
Restarting services possibly affected by the upgrade:
  cron: restarting...done.
  rsync: restarting...done.
  atd: restarting...done.

Services restarted successfully.
sleep: cannot read realtime clock: Invalid argument
dpkg: error processing package libc6:amd64 (--configure):
 installed libc6:amd64 package post-installation script subprocess returned error exit status 1
Exception during pm.DoInstall():  E:Sub-process /usr/bin/dpkg returned an error code (1)

*** Send problem report to the developers?

Abhilfe schaffte hier temporär folgendes:

sudo mv /bin/sleep /bin/sleep_old 
sudo touch /bin/sleep 
sudo chmod +x /bin/sleep
sudo apt --fix-broken install
sudo apt dist-upgrade

Danach wurden allerdings weitere Fehler geworfen, die mit mehrfachen "apt dist-upgrade" gelöst werden konnten.

Schlussendlich war dies ein netter Versuch, aber praktikabel ist das direkte Upgrade nicht unbedingt.

Nun heißt es warten auf WSL2, welches in Windows 10, Version 2004 enthalten sein soll und bereits in den Startlöchern steht.