1879834

Linux zu Befehl - pfiffige Shell-Tricks für Profis

06.07.2014 | 14:31 Uhr |

Auf dem Desktop hat sich Linux von einer grauen Maus zu einem Paradiesvogel entwickelt. Die Shell spielt aber weiterhin eine entscheidende Rolle und bleibt für viele Aufgaben die erste Wahl.

Sicherheit - Passwortverwaltung in der Shell

Sicherheit ist selten bequem: Verschiedene Kennwörter für SSH-Verbindungen zu jedem Server sowie root-Zugänge, Benutzerkennwörter und jeweils unterschiedliche Zugangsdaten für My SQL und Webanwendungen machen es Administratoren nicht unbedingt einfach, den Überblick zu allen aktiven Passwörtern zu behalten.

Suchen mit grep: Organisieren Sie den Safe so, dass sich die ccat-Ausgabe nach Hostoder Dienst-Namen filtern lässt.
Vergrößern Suchen mit grep: Organisieren Sie den Safe so, dass sich die ccat-Ausgabe nach Hostoder Dienst-Namen filtern lässt.

TIPP: Mit wenig Aufwand und mit Standardprogrammen, die auf jeder Linux-Distribution zu Hause sind, bauen Sie sich eine Passwortverwaltung für die Kommandozeile, die auf einer sicher verschlüsselten Textdatei basiert.

Im Gegensatz zu grafischen Tools hat diese Selbstbaulösung den Vorteil, dass sie auch auf Servern funktioniert, die nur per SSH erreichbar sind, keine grafische Oberfläche braucht und kaum Zusatz-Software benötigt. Dreh und Angelpunkt ist das Programm ccrypt, das eine Kommandozeilenversion des Rijndael-Algorithmus ist: Eine sichere Verschlüsselungsmethode, die auch unter dem Namen AES bekannt und bei ccrypt mit einer Schlüssellänge von 256 Bit ausgestattet ist. Der erste Schritt ist die Installation von ccrypt, das unter diesem Namen als Paket allen verbreiteten Linux-Distributionen bekannt ist und sich über den jeweiligen Paketmanager installieren lässt, in Debian/Ubuntu beispielsweise mit

sudo apt-get install ccrypt

Anwender von Open Suse finden fertige Pakete über den Build-Service dstoecker/ccrypt:https://build.opensuse.org/package/show/home:dstoecker/ccrypt . Legen Sie anschließend Ihre Passwortdatenbank mit einem Texteditor an, und wählen Sie dabei ein Format, das Sie später einfach durchsuchen und auflisten können. Empfehlenswert ist etwa eine Formatierung in Zeilen nach dem Schema

<Host> <Dienst> <Benutzername> <Passwort>

wobei die einzelnen Elemente mit Tabulator getrennt sind. Nun verschlüsseln Sie diese Datei mit diesem Kommando:

ccrypt -e <Passwortdatei>

Dabei fragt das Tool zweimal nach dem gewünschten Verschlüsselungskennwort. Dieses Kennwort wird in Zukunft das Masterpasswort sein und sollte deshalb möglichst komplex sein. Zum Auflisten des Klartexts der Datei und zur Suche bringt ccrypt das Helferlein ccat mit, eine Abwandlung des Befehls cat, der zur Entschlüsselung erst nach dem Masterpasswort fragt. Mit dem Befehl

ccat <Passwortdatei>

geben Sie alle Passwörter in der Kommandozeile aus, und mit einem verknüpfen grep können Sie mittels

ccat <Passwortdatei> |grep <Suchbegriff>

in der verschlüsselten Datei suchen. Nur zum Ändern des Inhalts müssen Sie die Datei vor dem Bearbeiten wieder entschlüsseln, was mit dem Befehl

ccrypt -d <Passwortdatei>

gelingt.

Mehr Tricks: Linux-Shell clever nutzen

Netzwerkverbindung als Laufwerk: Mit Fuse machen Sie eine FTP-Verbindung als Laufwerk verfügbar und greifen in der Shell und mit beliebigen Programmen auf die Dateien zu.
Vergrößern Netzwerkverbindung als Laufwerk: Mit Fuse machen Sie eine FTP-Verbindung als Laufwerk verfügbar und greifen in der Shell und mit beliebigen Programmen auf die Dateien zu.

Netzwerk - FTP-Verbindung als Laufwerk

Das unverschlüsselte FTP-Protokoll ist vom Aussterben bedroht, denn in öffentlichen Netzen ist die Übertragung von Zugangsdaten im Klartext zu unsicher. In lokalen Netzwerken wird FTP aufgrund seiner Geschwindigkeit aber weiterhin noch eingesetzt – etwa für NAS-Systeme und Backup-Server. Für den einfachen Zugriff auf Dateien per FTP lassen sich die Netzwerkverbindungen unter Linux auch als Laufwerk einhängen, damit beliebige Programme damit zurechtkommen, auch wenn diese keine Netzwerkprotokolle unterstützen.

TIPP: Damit die Netzwerkressourcen über FTP als Laufwerk erscheinen, kommt Fuse zu Hilfe, das reale und virtuelle Dateisysteme abbilden kann, keine root-Privilegien benötigt und sich ähnlich verhält wie der gewohnte Mount-Befehl. Die benötigte Fuse-Erweiterung für FTP ist unter Ubuntu, Debian, Open Suse und Fedora im Paket curlftpfs verfügbar, das über die Paketmanager der verwendeten Distribution schnell installiert ist und als Kommandozeilen-Tool keine Konfiguration voraussetzt. Sie benötigen lediglich einen Ordner als Mount-Punkt in Ihrem Home-Verzeichnis, beispielsweise mit dem Pfad „~/ftp“. Mit

curlftpfs <benutzer>:<passwort> @<server> ~/ftp

hängen Sie die FTP-Verbindung zum Server mit der Adresse <server> im angegebenen Ordner ein. Die weiteren Platzhalter <benutzer> und <passwort> ersetzen Sie durch die tatsächlichen Zugangsdaten. Beenden können Sie die Verbindung wieder mit

fusermount -u ~/ftp

Beachten Sie, dass Benutzername und Passwort zum FTP-Server damit im Bash-Befehlsverlauf landen. Um dies zu verhindern, deaktivieren Sie den Befehlsverlauf vorübergehend mit dem Befehl unset HISTFILE . Übrigens: curlftpfs unterstützt auch gesicherte FTP-Verbindungen mit SSL/TLS.

Bremse: Das Terminal verlangt eine Bestätigung, wenn nicht alle dort gestarteten Prozesse und Sub-Shells geschlossen wurden.
Vergrößern Bremse: Das Terminal verlangt eine Bestätigung, wenn nicht alle dort gestarteten Prozesse und Sub-Shells geschlossen wurden.

Gnome/Unity - Terminal-Fenster ohne Warnung schließen

Das Gnome-Terminal, das nicht nur unter Gnome, sondern auch in Unity zum Einsatz kommt, ist bei laufenden Prozessen vorsichtig: Wenn Sie das Terminal-Fenster mit einem Klick auf das Symbol zum Schließen in der Titelleiste klicken, erhalten Sie eine Abfrage, ob Sie das Terminal wirklich beenden möchten, sofern nicht alle Programme und Sub-Shells beendet sind. In den meisten Fällen ist es aber durchaus erwünscht, das Terminal und alle darin noch laufenden Prozesse auf diese Weise zu beenden.

TIPP: Die Rückfrage des Gnome-Terminals lässt sich mit einem internen Parameter in der Gnome-Konfiguration ausschalten. Den Parameter setzen Sie unter Gnome in einem Terminal-Fenster mit diesem Kommando:

gconftool-2 -s /apps/gnome-terminal/global/confirm_window_close --type=bool false

Danach entfällt die Rückfrage, wenn Sie das Terminal schließen. Ab Gnome 3.8, das beispielsweise bereits in Fedora 19 die Desktop-Umgebung stellt, hat sich dieser Parameter geändert und ist vom alten Einstellungssystem in das neuere Dconf-Schema gewandert. Bei Fedora 19 und anderen Distributionen mit der neuesten Gnome-Version müssen Sie deshalb den Parameter des Gnome-Terminals mit dem Befehl

gsettings set org.gnome.Terminal.Legacy.Settings confirm-close false

abändern.

Bequemer arbeiten: Linux automatisieren

Dateiverwaltung - Alles löschen bis auf Ausgesuchtes

Zum Entsorgen von Dateien ist die Kommandozeile mit dem Befehl rm unschlagbar schnell. Dieses Kommando kann aber nicht nur einzelne Dateien oder komplette Verzeichnisinhalten löschen, sondern versteht sich auch auf Ausnahmeregeln.

TIPP: Während rm * alle Dateien im aktuellen Ordner löscht und rm *.[Dateiendung] nur Dateien mit einer bestimmten Endung, dreht ein vorangestelltes Ausrufezeichen die Bedeutung um – wie in vielen Programmiersprachen üblich. So lassen sich Ausnahmen definieren, um beispielsweise mittels

rm !(*.txt)

alle Dateien zu löschen außer jene mit der Endung „TXT“. Dies funktioniert auch für mehrere Endungen, die das Verkettungszeichen (|) zu einer Liste zusammenfasst:

rm !(*.txt|*.log)

Dies löscht alle Dateien im aktuellen Verzeichnis bis auf solche mit den Endungen TXT und LOG.

0 Kommentare zu diesem Artikel
1879834