Tipp: Python virtual environment (venv)
Bei der Arbeit mit ‘Python’ kommt es recht häufig vor, dass bestimmte Versionen
von Bibliotheken per pip installiert und genutzt werden, die von der
Distribution nicht zur Verfügung gestellt werden.
Um dieses Problem zu umgehen kann das Projekt in ein virtual environment
(venv)
gepackt werden. Dabei wird eine Verknüpfung zu den Binaries von python und
pip erzeugt und alle Pfade für die Installation von Bibliotheken in das
venv Verzeichnis umgebogen.
Tipp: sed Upper- und Lowercase
Die Manual Page (man 1 sed) bezeichnet den sed als ‘Stream-EDitor zum Filtern und
Transformieren von Text’, womit das Einsatzgebiet genau beschrieben ist.
Was die Manual Page allerdings verschweigt ist, dass es auch nette Möglichkeiten innerhalb des GNU sed gibt
um die Ausgaben auf der rechten Seite (RHS) einer Substitution (’s/von/nach/’) in Groß- oder Kleinbuchstaben
zu wandeln.
Nachzulesen ist der folgende Tipp in der Info - Page zum sed (info sed).
2Faktor Authentifizierung für SSH und Sudo

“Das Sprichwort stimmt, dass Sicherheitssysteme immer gewinnen müssen, der Angreifer hingegen muss nur einmal.” – Kevin Mitnick
Mehr und mehr ist in den Medien und Literatur von Zwei Faktor Authentifizierung (2FA) oder Multi Faktor Authentifizerung (MFA) die Rede. Dabei handelt es sich um einen zusätzlichen Faktor der Authentizierung, meistens über ein Gerät welches Einmalpasswörter periodisch generiert (z.B RSA Token oder die Steam Authenticator App)
Ein Faktor kann z.B sein:
Tipp: Bash Globbing
*- kein Zeichen oder beliebig viele Zeichen?- genau ein Zeichen[]- eines der Zeichen, dass innerhalb der Klammer angegeben ist
Damit steht also der * für alles was vorkommen kann zusammen mit
anderen Zeichen lassen sich damit dann Suchmuster wie folgt bilden:
Tipp: Cryptsetup Luks - Mehrere Kennwörter
Mit cryptsetup LUKS verschlüsselte Partitionen können mit mehreren Kennwörter oder Schlüsseldateien verschlüsselt werden. Hierzu sind 8 Slots vorhanden in denen die unterschiedlichen Kennwörter gespeichert sind. Welche dieser Slots belegt sind zeigt der Unterbefehl luksDump des Befehls cryptsetup an.
sudo cryptsetup luksDump /dev/sdX | grep -i key
In den meisten Fällen ist zunächst nur der Slot 0 belegt. Der folgende Befehl schreibt ein neues Kennwort in den nächsten freien Slot. Das dabei abgefragte Kennwort muss ein bereits in einem anderen Slot vergebenes Kennwort sein.
Tipp: Dateirechte unter Linux
Das Konzept der Dateirechte unter Linux bereitet Benutzern wie Administratoren gerade in der Anfangszeit immer wieder Probleme. Grund genug also, hier einen genaueren Blick darauf zu werfen!
Die Notwendigkeit von Dateirechten im PC-Bereich fiel mit der zunehmenden Nutzung einzelner Geräte durch mehrere Personen zusammen. Microsoft beispielsweise führte Dateirechte mit dem Start des Dateisystems NTFS Anfang der 1990er Jahre ein.
Bereits bei Unix-Dateisystemen gab es die gleichen Berechtigungsstrukturen, wie sie heute unter Linux bei den gängigen Dateisystemen (ext2, ext3, ext4, btrfs, xfs, reiserfs usw.) üblich sind.
Tipp: Dateirechte unter Linux - ACLs
Erweiterte Dateirechte (ACL)
Der erste Artikel der Reihe ‘Dateirechte’ behandelte Besitz- und Zugriffsrechte. Die Fortsetzung ging auf das Setzen und Verändern der Dateirechte ein. Im diesem letzten Teil behandeln wir erweiterte Dateirechte, die Sie über ‘Access Control Lists’ (ACL) steuern.
Historisch gab es in unixoiden Betriebssystemen lediglich die Möglichkeit, Dateirechte über einen Benutzer, eine Gruppe oder alle sonstigen zu definieren. Die Details dazu haben wir bereits kennengelernt. Grundsätzlich hat sich an diesem Ansatz nichts geändert; in heutigen Multiuser-Umgebungen stößt der Ansatz allerdings oft an seine Grenzen und wurde daher mit den ’erweiterten Dateirechten’ ``aufgebohrt’’.
Tipp: Dateirechte unter Linux - Besitz und Zugriffsrechte
Dateirechte setzen und verändern
Nachdem der letzte Artikel dieser Reihe die Besitz- und
Zugriffsrechte ausführlich erklärt hat, geht es hier um die wichtigen
Kommandos, mit denen Sie die Dateirechte ‘ändern’: chown, chgrp
und chmod.
Zuvor aber stellen wir das Kommando stat vor, das die Rechte sehr
übersichtlich anzeigt:
user@linux ~$ stat kapitel.txt
File: 'kapitel.txt'
Size: 819 Blocks: 8 IO Block: 4096 regular file
Device: fd06h/64774d Inode: 439267 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 4000/mgisbers) Gid: ( 4000/mgisbers)
Access: 2013-03-25 18:52:04.283934329 +0100
Modify: 2013-03-25 18:52:04.283934329 +0100
Change: 2013-03-25 18:52:04.288934359 +0100
Es finden sich alle bereits bekannten Parameter wieder. Darüber hinaus
sind einige Zeitangaben eingeblendet. Die vom Befehl ls
standardmäßig ausgegebene Zeit ist die ‘mtime’ (Modifikationszeit),
also der Zeitpunkt der letzten Änderung am Inhalt der Datei. Weniger
bekannt sind die ‘atime’ (Zugriffszeit), das Datum des letzten Zugriffs
auf den Dateiinhalt, und die ‘ctime’ (Änderungszeit), die den Zeitpunkt
der letzten Rechteänderung angibt.
Tipp: Netzwerk mit ip
Geschichtsstunde: ifconfig
Vielen ist der Befehl ifconfig ein Begriff, ist er doch
seit Jahrzehnten für die Konfiguration des Netzwerks unter Unix-
oder Linux-Systemen zuständig. So sehen beispielsweise Aufrufe zum
Setzen einer IP-Adresse und Anzeigen der Konfiguration aus:
root@linux:~# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up
root@linux:~# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::225:90ff:fec0:ffee prefixlen 64 scopeid 0x20<link>
ether 00:25:90:c0:ff:ee txqueuelen 1000 (Ethernet)
RX packets 123346 bytes 120154576 (114.5 MiB)
RX errors 0 dropped 2571 overruns 0 frame 0
TX packets 126744 bytes 71491997 (68.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xfe120000-fe13ffff
Auf die Details gehen wir an dieser Stelle nicht ein. Inzwischen
bietet der Linux Kernel neue Funktionen, die ifconfig nicht mehr
bedient. Eine Anpassung hätte weitreichende Eingriffe erfordert
und eine Änderung oder Erweiterung der Syntax mit sich gebracht. So
hat man sich entschlossen, gleich ein neues Programm ins Leben zu
rufen. Das Resultat is der Befehl mit dem kurzen und prägnanten Namen
ip. Dieser ersetzt nicht nur den Befehl ifconfig, sondern auch
die Befehle route und arp.
Tipp: nohup
Programme, die innerhalb einer Shell - z. B. /bin/bash - gestartet werden warten, normalerweise, auf das Ende ihrer Ausführung und belegen in der Zeit die Konsole.
Einfach lässt sich dies durch das Kommando sleep darstellen:
tux@linux ~ $ sleep 10
Erst 10 Sekunden nach dem Start des Kommandos erscheint ein neuer Prompt und es werden neue Kommandos ausgeführt. Zwar kann man während das Kommando sleep die Konsole belegt schon neue Kommandos eingeben, aber die eigentliche Ausführung startet erst nach Ende des vorherigen Kommandos.