MySQL root-Passwort zurücksetzen/recovern
Man lernt ja angeblich nie aus – und es ist tatsächlich möglich. Beim Daemon-Start von MySQL kann direkt SQL durchgeschleift werden… unfassbar wie ich finde! Seht selbst:
Man lernt ja angeblich nie aus – und es ist tatsächlich möglich. Beim Daemon-Start von MySQL kann direkt SQL durchgeschleift werden… unfassbar wie ich finde! Seht selbst:
Ich konnte es kaum glauben. Man bestellt sich einen hoch angepriesenen Opteron 1212HE Server von Strato, der mit 2000 Mhz ausgewiesen wird. Gutgläubig verlässt man sich darauf und fährt den Server für ein paar Wochen ganz normal. Nach ein paar systemkritischen Anwendungen mehr, fragt man sich, warum der Dual-Core so langsam läuft und mach mal einen profilaktischen cat /proc/cpuinfo. Ich traute meinen Augen kaum: Beide Cores waren underclocked auf 1000Mhz !
Ob es nun ein Fehler von Strato oder ein openSuSE 10.2 Sicherheitsfeature ist – ich weiß es nicht. Man kann Strato aber getrost unterstellen, die Systeme falsch konfiguriert zu haben!
Die Abhilfe schaffte dann letztlich der folgende Command:
cpufreq-set -f 2GHz
Ein Schelm, wer Strato Energiesparmaßnahmen unterstellt.
Das ist ein recht simples Verfahren, um sich ohne Passworteingabe am Server anzumelden.
Folgende Programme werden benötigt:
Wenn wir all diese Programme heruntergeladen haben, starten wir PuTTYgen, um ein Private/Public Key Paar zu generieren. Innerhalb des Programms wählen wir schlichtweg Generieren aus und bewegen die Maus solange, bis die Keys generiert wurden. Vergessen sie nicht, eine Key passphrase anzugeben, also ein Passwort, welches den Private Key vor dem Gebrauch durch Dritte schützt.
Danach speichern Sie sowohl Private Key als auch Public Key über Save public key und Save private key, vorzugsweise in einem Verzeichnis, dass Sie auch wiederfinden: C:\Programme\Putty\
Ich bevorzuge die Dateinamen publickey.txt und privatekey.ppk .
Doch das reicht leider noch nicht aus. PuTTYgen besitzt ein Feld mit der Headline Public key for pasting into OpenSSH authorized_keys file. Diesen benötigen wir auf jeden Fall, also kopieren Sie diesen und speichern ihn am besten ebenfalls in ihr Verzeichnis unter dem Namen authorized_keys.txt ab.
Nun öffnen Sie das Programm Pageant und laden dort den Private Key (privatekey.ppk) über den Button Add Key. Pageant hat die Angewohnheit, sich rechts unten in der Statusbar einzunisten, was später jedoch von Vorteil sein wird.
Weiter geht es mit der Installation von WinSCP. Sobald Sie WinSCP gestartet haben erstellen Sie eine neue Session über den Button Neu. Dort tragen Sie ihre Anmeldedaten zunächst ohne Private Key ein und klicken auf Anmelden. Ich melde mich an meiner openSuse Box mit dem Benutzer root an. WinSCP führt mich danach automatisch in das Stammverzeichnis des Benutzers root. Sollte dies nicht geschehen sein, so wechseln Sie bitte in das Verzeichnis /root/ .
Wir benötigen innerhalb von /root/ einen Ordner genannt .ssh (bitte beachten Sie den Punkt am Anfang!). Ist dieses Verzeichnis schon vorhanden, dann wechseln Sie in dieses. Ansonsten erstellen Sie es einfach mit F7.
Wir sind nun in unserem .ssh Verzeichnis. Sollte dies leer sein, sind die nächsten Schritte nur noch Formsache. Sie kopieren die lokale Datei authorized_keys.txt in das Verzeichnis .ssh des Servers hinein. Danach nennen Sie die Datei auf dem Server um in authorized_keys .
Ist die Datei authorized_keys schon vorhanden, müssen Sie den Inhalt von authorized_keys.txt ans Ende der Datei anfügen. WinSCP kann Dateien editieren via Rechte Maustaste => Bearbeiten.
Puh, geschafft. Jetzt kommt PuTTY zum Zuge. Starten Sie es und geben Sie wie gewöhnlich ihren Host Name an. Links in den Einstellungen navigieren Sie zu folgendem Menü: Connection => SSH => Auth
Dort finden sie am Ende den Eintrag Private key file for authentication. In dieses Feld müssen sie ihre privatekey.ppk auf ihrer Festplatte heraussuchen und eintragen lassen. Danach gehen Sie zu Connection => Data und geben bei Auto-login username ihren Benutzernamen an ( in meinem Fall: root ). Vergessen Sie nicht die neuen Einstellungen in einer Session abzuspeichern, sonst sind diese Einstellungen beim nächsten Login verloren.
Geschafft! Auf Open klicken und sich freuen, dass Sie nie wieder für ihren Root-Server Benutzername und Passwort angeben müssen.
Mehr als 2 Jahre hat mich dieses Problem nun beschäftigt. Man öffnet vi in Putty, editiert irgendwelchen Krimskrams und aus lauter Gewohnheit heraus drück man natürlich nicht :wq sondern Strg + S und die Session freezed. Jahrelang habe ich einfach die Session geclosed, mich geärgert und weiter gemacht. Dabei ist die Lösung so simpel:
Strg + Q
Da ich in regelmäßigen Abständen die Linux Commands einfach mal vergesse, führe ich am Besten mal eine Top 10 meiner am meist genutztesten Commands.
Wer kennt es nicht. Allein schon -l ist zuviel des guten. Daher gibt es nur den guten alten bash.bashrc Weg!
alias ls='ls --color=auto -l -all'
Natürlich gibt es für die DOS Nerds auch noch den dir alias, aber selbst dort ist ein Buchstabe zu viel!
Der Abhass meinerseits, da ich selbst ein Kind des DOS bin und cd.. meine Wege gepflastert hat. Aber auch hier: bashrc schafft Abhilfe in der Not.
Bevor ich diesen Daemon gefressen hatte, dauerte es auch einige Zeit. Ich war versucht desöfteren ein & zu verwenden, aber letztlich siegte dann der Daemon!
Rekursiv Dateien herunterladen von einer Website. Ob Bilder, MP3s oder Videos – damit gehts flott und einfach.
Der wohl schlichteste aber auch gleichzeitig leistungsvollste Editor. Es lohnt sich natürlich immer einen Link von vi auf vim zu erstellen. Hier die wichtigsten vi Commands:
Jemals versucht auf elegante Weise eine Datei umzubenennen ? mv ist dafür wie geschaffen, auch wenn es eigentlich Dateien verschieben soll. Doch wie sooft hat es auch mir zwangsläufig schlaflose Nächte bereitet, denn mv fragt nicht nach, ob es Dateien überschreiben darf.
su steht als Abkürung für switch user und veranlasst Linux, den Benutzer zu wechseln. Ein sehr nützlicher Weg, um Programme nicht als root auszuführen.
Dateiinhalte auf der Console nach gewissen Zeichketten durchsuchen.
Cronjobs editieren.
Das, was ich jeden morgen als erstes eingebe.
Es gibt immer wieder Situationen, in denen man den Apache Authentication Handler nicht über die .htaccess/.htpasswd sondern direkt über ein Python Script steuern möchte. Dies trifft generell auf viele Bridges zu, welche einen Auth Handler benötigen, welcher Benutzerdetails aus einer Datenbank abfragen muss.
Doch ist dies nicht immer ganz einfach, zumindest nicht bei dem “enhanced wiki and issue tracking system” Trac.
Ich hoffe, dass dieses Snippet irgend jemandem einmal helfen wird, schneller an sein Ziel zu kommen, und nicht wie ich einige Tage an diesen Mist verschwendet.
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /path/to/trac/
PythonOption TracUriRoot /trac/
SetEnv PYTHON_EGG_CACHE /path/to/trac/plugins/
#PythonDebug On
# This handles => www.dummy.com/trac/login
AuthBasicAuthoritative Off
AuthType Basic
AuthName "dummy.com login"
Require valid-user
PythonAuthenHandler smf_auth
# Path for Python to find the Auth-Script: "smf_auth.py"
PythonPath "sys.path+['/path/to/trac']"
# This creates Vhost: trac.dummy.com => /path/to/trac
DocumentRoot /path/to/trac/
ServerName trac.clansuite.com
php_admin_value open_basedir /path/to/:/usr/local/lib/php:/tmp
php_admin_flag engine Off
suPHP_Engine on
suPHP_UserGroup clansuitecom www-users
AddHandler x-httpd-php .php .php3 .php4 .php5
suPHP_AddHandler x-httpd-php
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /path/to/trac/
PythonOption TracUriRoot /
SetEnv PYTHON_EGG_CACHE /path/to/trac/plugins/
PythonPath "sys.path+['/path/to/trac']"
AuthBasicAuthoritative Off
AuthType Basic
AuthName "dummy.com login"
Require valid-user
PythonAuthenHandler smf_auth
AuthBasicAuthoritative Off
AuthType Basic
AuthName "dummy.com login"
Require valid-user
PythonAuthenHandler smf_auth