Mittwoch, 1. September 2010

Quickie: sort!

Weil ich grad zu dem Thema google bemüht habe, aber dann doch recht flink selbst die Lösung gefunden habe: ich wollte "meine" Datei /etc/passwd sortiert haben (im Rahmen einer Server-Migration sind recht viele Zeilen enthalten, die noch dazu recht durchgemischt sind) - ich fürchtete schon ich müsste irgednwie awk bemühen (sehr mächtig, aber auch anspruchvoll).

Wenn man aber fähig und gewillt ist eine Manpage zu lesen, kommt man recht schnell auf:

# cat /etc/passwd | sort -t: -k3 -n

Ich lenke also die Ausgabe von cat zu sort um, gebe als Spaltentrennzeichen den Doppelpunkt an (-t:), sortiert werden soll nach Spalte 3 (-k3) und das ganze dann bitte numerisch (-n) - denn ich will nach User-Id sortieren und gebe ich nicht -n an, wird der Inhalt der Spalte als Zeichen und nicht als Zahl interpretiert.

Tatsächlich leite ich die Ausgabe aber noch in eine Datei um und ersetze damit meine /etc/passwd...

Dienstag, 29. Juni 2010

den Zugriff auf phpMyAdmin einschränken

phpMyAdmin ist ein hilfreiches Werkzeug, das allerdings nicht in falsche Hände geraten sollte. Standardmäßig ist es, zumindest unter Debian, nach der Installation für jederman unter http://[Adresse des Webservers]/phpmyadmin erreichbar.

Wer nicht auf dieses Werkzeug verzichten möchte, kann den Zugriff zum Beispiel auf den internen IP Adressbereich einschränken. Wer die phpMyAdmin-Konfiguration im üblichen Verzeichnis (/etc/apache2/sites-available) sucht, sucht vergeblich. Im Verzeichnis /etc/apache2/conf.d befindet sich in meinem Fall (Debian Lenny) ein Link "phpmyadmin.conf" der nach /etc/phpmyadmin/apache.conf zeigt. Ich editiere also:

# vim /etc/phpmyadmin/apache.conf

In der Section Directory (sollte ohnehin ziehmlich am Anfang stehen) füge ich folgende, rot markierte Zeilen ein:

...
Options Indexes FollowSymLinks
DirectoryIndex index.php
Deny from all
Allow from 192.168.0.0/24
...

Die Zeile "Deny from all" bewirkt zunächst, wie unschwer zu erkennen, dass der Zurgiff von allen Quellen gesperrt wird. Anschließend, erlaube ich den Zugriff aus meinem internen Adressbereich. Habe ich den Server bei einem Hoster untergebracht könnte ich hier zB auch auf die öffentliche IP Adresse meines Internetanschlusses einschränken.

Anschließend nicht vergessen die Konfiguration neu zu starten:

# /etc/init.d/apache2 reload

Siehe dazu auch:
http://httpd.apache.org/docs/2.2/howto/access.html

verlorenes/vergessenes MySQL root Passwort zurücksetzen

Weil es mir kürzlich tatsächlich passiert ist - was tun wenn das Kennwort des MySQL root Users nicht mehr stimmt, verloren gegangen ist oder schlicht vergessen wurde. Zugriff als root auf die Konsole vorausgesetzt, wirken folgende Schritte Wunder:

Zunächst stoppt man den MySQL Server:

# /etc/init.d/mysql stop

Dann startet man den MySQL Server, "deaktiviert" dabei aber die Passwortabfrage:

# /usr/bin/mysqld_safe --skip-grant-tables &

(das "&" am Schluss bewirtk, dass der Prozess im Hintergrund gestartet wird)

Nun kann man sich ohne Passwort am MySQL Server anmelden:

# mysql -u root

In der MySQL Shell gibt man nun nacheinander folgende Befehle ein und ersetzt dabei "PasswortNeu" durch das gewünschte neue Passwort!

mysql> use mysql;
mysql> update user set password=PASSWORD('PasswortNeu') where user='root';
mysql> flush privileges;
mysql> quit

Nach der letzten Zeile landet man wieder auf der Shell und muss nun den MySQL Server neu starten:

# /etc/init.d/mysql restart

Anschließend empfiehlt es sich, das neue Passwort noch zu testen:

# mysql -u root -p

Kann man sich erfolgreich anmelden, wäre es unter Umständen ratsam das neue Passwort sicher in einem Passwortsafe abzulegen...

Donnerstag, 27. Mai 2010

VMWare Guest neu aufsetzen

Wenn man so wie ich gewisse Dinge nicht täglich oder gar nur extrem selten durchführt, stößt man mitunter auf gewisse Informationslücken, deren Überwindung unnötig Zeit kostet. Heutiges Beispiel: wie setze ich einen VMWare Gast neu auf.

Blöd wenn man die von lokalem CD (ISO) Image tun will - dieses lässt sich nur im Betrieb verbinden und diese Verbindung wird nach einem Neustart getrennt - die Zeit die nach dem Einschalten des Clients bleibt um das Image zu verbinden ist eher kurz. Genau so kurz die wie zeit die bleibt um in's BIOS einzusteigen.

Man klickt im vSphere Client die entsprechende Maschine mit der rechten Maustaste an und wählt aus dem Kontextmenü ie Option "Einstellungen bearbeiten...". In den Eigentschaften der virtuellen Maschinen wechselt man in den Reiter "Optionen" und klickt auf die Einstellung "Startoptionen". Rechts gibt es nun die Option "BIOS-Setup erzwingen", welche dazu führt, dass beim nächsten Start der Maschine direkt in's BIOS eingestiegen wird (wie der Name schon sagt...).

Nun startet man die Maschine und wartet bis sich der BIOS Bildschirm meldet. Gemächlich kann man nun das ISO Image verbinden, vergisst vor lauter Freude auch nicht im BIOS unter "Boot" das "CD-ROM Drive" in der Reihenfolge vor die Festplatte zu setzen (Taste [+] im NumPad) und steigt wie gewohnt mit der Taste F10 aus dem BIOS aus.

Gegebenenfalls wiederholt man die Schritte nach dem neu Aufsetzen, wobei man sich wahrscheinlich darauf beschränkt die Boot-Reihenfolge wieder zu ändern, damit man auch beim nächsten Mal wieder darüber nachdenken kann...