Mittels „grep“ Ordner rekursiv durchsuchen

Wenn man sich im Terminal durch Konfigurationsdateien hangelt, kann es durchaus vorkommen das man eine bestimmte Zeichenkette in den Dateien eines Ordners und dessen Unterordnern sucht. Hierfür bietet sich eine Kombination von „find“ und „grep“ an:

find . -type f -exec grep -l 'suchbegriff' {} \;

Das „find“ Kommando ermittelt dabei alle Dateien und übergibt sie dann an „grep“. Als Ausgabe erhält man anschließend eine Liste der Dateien in welchen der gesuchte Begriff enthalten ist.

Basic Authentification unter Nginx einrichten

Auch im Webserver Nginx lässt sich „Basic Authentification“ einrichten. Dazu fügt man in der entsprechenden Konfigurationsdatei im Server folgenden Block hinzu:

location / {
    auth_basic           "Access denied";
    auth_basic_user_file /var/www/example.org/.htpasswd;
}

In dem definierten Ordner wird nun eine Datei mit dem Namen „.htpasswd“ angelegt“. Dieser Datei funktioniert dabei nach dem Schema „Nutzername:Passwort“. Mittels:

openssl passwd

kann dar Passworthash für die Datei erzeugt werden. Alternativ kann das ganze auch über das „htpasswd“ Tool, welches im „apache2-utils“-Paket enthalten ist, erstellt werden:

htpasswd .htpasswd seeseekey

Die „.htpasswd“-Datei könnte dann so aussehen:

seeseekey:ppWAv1Wkrq/jg

Nach dem Neustart des Servers mittels:

sudo service nginx restart

sollte die „Basic Authentification“ funktionieren.

Weitere Informationen gibt es unter:
http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html

SSH Schlüssel aus known_hosts entfernen

Manchmal ändert sich die RSA Schlüssel für einen entfernten Server welchen man per SSH erreichen möchte. Dann bekommt man vom System eine schöne Meldung:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.

The fingerprint for the RSA key sent by the remote host is
3b:a3:48:fc:55:70:70:f8:43:33:50:73:d9:b8:1d:9e.

Please contact your system administrator.

Add correct host key in /Users/seeseekey/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/seeseekey/.ssh/known_hosts:17
RSA host key for 8.8.8.8 has changed and you have requested strict checking.
Host key verification failed.

Das Problem besteht darin, das ein alter Fingerprint in der „known_hosts“-Datei vorhanden ist. Die brachiale Methode wäre es die Datei zu löschen. Damit wäre die Verbindung mit dem Server wieder möglich. Natürlich löscht man so auch alle anderen verifizierten Server (bzw. deren Fingerprints). Sauberer ist es den veralteten Key mittels „ssh-keygen“ zu entfernen:

ssh-keygen -R 8.8.8.8

Anschließend wird man beim nächsten Verbindungsversuch wieder gefragt ob man die Verbindung akzeptieren möchte. Ist dies der Fall kann sich mit dem Server verbunden werden.

Evolution Chamber und Starcraft Fusion

Beim Spielen von Starcraft 2 wird man irgendwann den Begriff „Build Order“ oder Baureihenfolge gehört haben. Dabei handelt es sich um eine je nach Spielrasse verwendete feste Reihenfolge für den initialen Aufbau der Basis. Für die Standardvorgehensweisen gibt es dabei durchaus einige erprobte Strategien.

Interessant wird es wenn man eine eigene Build Order entwickeln möchte. Das kann man natürlich von Hand tun oder spezialisierte Tools dafür benutzen. Eine solche Build Order könnte dann z.B. so aussehen:

0:02,00: 50M 0G 3L 6/ 10S – Build Drone
0:13,63: 50M 0G 2L 7/ 10S – Build Drone
0:24,70: 50M 0G 2L 8/ 10S – Build Drone
0:29,75: 25M 0G 1L 9/ 10S – Build Extractor
1:07,65: 200M 0G 3L 8/ 10S – Build Spawning Pool
1:07,65: 0M 0G 3L 7/ 10S – Move Three Drones To Gas
1:25,56: 50M 26G 3L 7/ 10S – Build Drone
2:12,65: 160M 116G 3L 8/ 10S – Research Metabolic Boost
2:12,65: 60M 16G 3L 8/ 10S – Build Extractor
2:12,65: 35M 16G 3L 7/ 10S – Build Extractor
2:12,65: 10M 16G 3L 6/ 10S – Cancel Extractor
2:12,65: 29M 16G 3L 7/ 10S – Build Extractor
2:12,65: 4M 16G 3L 6/ 10S – Cancel Extractor
2:12,65: 23M 16G 3L 7/ 10S – Cancel Extractor
2:12,65: 42M 16G 3L 8/ 10S – Build Extractor
2:12,65: 17M 16G 3L 7/ 10S – Cancel Extractor
2:17,58: 50M 18G 3L 8/ 10S – Build Zergling
2:37,78: 100M 31G 3L 9/ 10S – Build Overlord
2:47,88: 50M 37G 2L 9/ 10S – Build Zergling
3:02,78: 74M 46G 2L 10/ 18S – Build Zergling
3:08,08: 50M 50G 2L 11/ 18S – Build Zergling
3:18,18: 50M 56G 1L 12/ 18S – Build Zergling
3:28,28: 50M 63G 1L 13/ 18S – Build Zergling
3:38,38: 50M 69G 1L 14/ 18S – Build Zergling

Waypoint 1 satisfied:
4:02,65: 120M 84G 1L 15/ 18S
Income: 297M 38G
Buildings: 1 Hatchery 1 Extractor 1 Spawning Pool
Units: 8 Drone 2 Overlord 14 Zergling
Research: Metabolic Boost

Bei jedem diesen Tools gibt man das Ziel an (z.B. 12 Zerglinge) und diese probieren das ganze so lange durch bis eine möglichst optimale Lösung gefunden wurde. Speziell für Zerg gibt es dabei das auf Java basierende Tool „Evolution Chamber“ welches unter http://code.google.com/p/evolutionchamber/ zu finden ist.

Starcraft Fusion beim Erstellen einer Build Order

Starcraft Fusion beim Erstellen einer Build Order

Für Windows gibt es das Tool „Starcraft Fusion„. Im Gegensatz zu „Evolution Chamber“ können mit „Starcraft Fusion“ auch Build Order für die Terraner und die Protos angelegt werden. Bei der Benutzung sollte man immer beachten, das jede Bedingung die man definiert sich auf die Rechenzeit auswirkt. Bei komplexen Zusammenstellungen kann eine solche Berechnung schon mal einige Wochen dauern, während es sich bei ein paar Zerglingen nur um einige Minuten handelt.

IPFire bald mit Tor Integration

Die auf Linux basierende Routerdistribution IPFire (http://www.ipfire.org/) besticht vor allem durch ihre Benutzerfreundlichkeit, was dazu führt das sie gerne und oft eingesetzt wird. Zum Projekt gehört dabei eine Wunschliste welche unter http://wishlist.ipfire.org/ zu finden ist.

Das IPFire Interface

Das IPFire Interface

Auf der Wunschliste können Projekte finanziert werden, so das sie anschließend bevorzugt implementiert werden. Vor allem der neuste Eintrag in der Wunschliste ist interessant: „Tor – Protecting Online Anonymity“ – bei diesem handelt es sich um die Integration des Anonymisierungsnetzwerkes Tor in IPFire, so das dass ganze für den Nutzer anschließend transparent abläuft. Dazu sollten ursprünglich knapp 1500 € gesammelt werden, mittlerweile sind es aber schon über 1600 €. Das bedeutet das wir uns in nächster Zeit auf eine IPFire Version mit Torintegration freuen dürfen, womit wir ein Schritt näher an benutzerfreundlicher und frustrationsfreier Sicherheit wären.