Archiv

Artikel Tagged ‘shell’

Ein paar Linux-Tricks und ein Tip fĂŒr Windows

12. Juni 2008 1 Kommentar

 Ich habe lange nichts geschrieben, doch nun gehts wieder voran! Diesmal gleich mit ein paar Tricks rund im Linux, die vielleicht nicht jeder kennt.

Wie sehe ich, wer oder was auf die Festplatte schreibt?

Schnell und einfach hilft es, per sysctl den Kernel anzuweisen, alle aktivitäten zu protokollieren. Je nach Auslastung des Servers kann das natürlich innerhalb kürzester Zeit die entsprechenden Logfiles zumüllen, also vorsicht!

Der nötige Befehl lautet: sysctl vm.block_dump=1

Das ganze kann dann z.B. so aussehen:

mysqld(9336): dirtied inode 17911863 (sessions.frm) on sdb1
mysqld(9336): dirtied inode 17911864 (sessions.MYI) on sdb1
mysqld(9336): dirtied inode 17911865 (sessions.MYD) on sdb1
mysqld(9336): dirtied inode 17911872 (user.frm) on sdb1
mysqld(9336): dirtied inode 17911873 (user.MYI) on sdb1
mysqld(9336): dirtied inode 17911874 (user.MYD) on sdb1

Ein weiterer Freund hierbei ist fuser. Das Werkzeug kann unter anderem auch alle Prozesse beenden, welche z.B. das Dateisystem auf /home nutzen .. und es kann ebenfalls anzeigen, was im System passiert.

fuser -muv /dev/sdb1

Dieser Befehl zeigt mir an, was im Moment des Aufrufs auf der Platte sdb und Partition 1 passiert, z.B.:

/dev/sdb1:           mysql      1141 F.c.. (mysql)mysqld
                     nobody     6448 F...m (nobody)httpd
                     nobody     8278 F...m (nobody)httpd
                     nobody     8545 F...m (nobody)httpd
                     qscand    11449 F.c.. (qscand)perl5.8.8

Sortieren der Useflags bei Gentoo in der make.conf

Oft genug kommt es vor, das man hier oder da mal ein USE-Flag in der make.conf setzt und natürlich in keinster weise das neue Flag alphabetisch einsortiert. Das folgende kleine Script gibt alle benutzen USE-Flags aus der make.conf sortiert aus. Ein kurzes copy&paste und schon herrscht wieder Ordnung:

cat /etc/make.conf | grep "USE=" | grep -v "^#" | awk '{ for (i = (NF -1); i >= 2; i-- )  print $i}' | sort | xargs echo

Dieser Tipp stammt aus dem Gentoo-Forum.

Woher bekomme ich noch mehr Tips und Tricks?

Das Forum von Gentoo ist nicht nur für Nutzer dieser Distribution geeignet, es enthält auch jede Menge Insiderwissen sowie Dokumentationen rund um den Kernel, Filesysteme und Software. Vorbeischaun lohnt sich!

 

Und was ist mit Windows?

Für die Windows-Fans hab ich hier noch eine Seite, welche recht zuverlässig dabei hilft, eingesetzte Software auf dem aktuellen Stand zu halten. Auf filehippo.com gibt es den Update Checker, eine kleine .NET Anwendung, welche das System nach bekannter Software durchsucht und mit einer Versionsliste der filehippo.com Seite vergleicht. Nach der Durchsuchung werden die Ergebnisse im Browser angezeigt und bei Bedarf kann eine neue Version des einen oder anderen Programmes installiert werden. Neben den Downloadlinks wird u.a. auch die genaue Versionsnummer der Software angezeigt. Was mich betrifft, so habe ich bisher keine unerlaubten Aktivitäten des Tools festgestellt und es tut seine Dienste wie es soll. Ob man den Leuten von filehippo.com vertraut bleibt einem natürlich selbst überlassen 🙂

login incorrect

22. MĂ€rz 2008 2 Kommentare

„login incorrect. good bye.“ .. das sagte mir mein Backup-FTP-Server, nachdem ich mein neues Backupscript auf einen anderen Server kopiert hatte. „Alles klar“ dachte ich mir, hab ich mich beim copy&pasten vom Passwort wohl „verpasted“. Also nochmal Buchstabe fĂŒr Buchstabe abgeglichen, alles richtig. Username ist auch richtig. IP-Adresse ebenfalls .. seltsam. Zur sicherheit habe ich nun nochmals per Hand verucht, eine FTP-Verbindung aufzubaun und siehe da, es ging. Vielleicht ein Bug mit ncftp auf diesem Server? Ich habe ncftpput also angewiesen, ein Logfile der FTP-Konversation zu schreiben, aber dort sah alles richtig aus. Langsam verstand ich echt nur noch Bahnhof.

Dann habe ich mir per tcpdump den kompletten TCP Datenverkehr zwischen meinem Server und dem FTP-Server mitschneiden lassen, das Datenfile dann auf meinen Arbeitsrechner kopiert und per Wireshark geöffnet. Wireshark kann neben vielen, vielen Dingen auch gezielt TCP-Verbindungen aus einer vielzahl von Verbindung ausfiltern und die enthaltenen Daten anzeigen. Ein kurzer Blick zeigte: die FTP-Verbindung lĂ€uft genauso ab wie sie sollte, trotzdem antwortete der Server mit „login incorrect“.

Doch die Lösung des RĂ€tsels war nur Sekunden entfernt: die Anzeige der Konversation in richtung FTP-Server zeigte, dass sich hinter dem Passswort ein Leerzeichen eingeschlichen hatte, was natĂŒrlich das Passwort ungĂŒltig machte. Minutenlanges rĂ€tseln und dann so eine einfache Lösung, mit einem Overkill an Aufwand herausgefunden.

Fazit: HĂ€tte ich einfach mal geprĂŒft, ob hinter dem Passwort ein Leerzeichen steht, so hĂ€tte ich mir die ganze Arbeit ersparen können! Manchmal sind es eben die kleinen Dinge, die einen verrĂŒckt machen 😉

KategorienInternet, Linux Tags: , , ,

Wer hat noch nicht, wer Spamt noch mal?

30. Januar 2008 1 Kommentar

Wer kennt das nicht: 100 Mails abgeholt, 99 davon sortiert der Mailclient (z.B. Thunderbird) direkt als Spam aus, die letzte verbliebene Mail ist tatsĂ€chlich kein Spam. Der Kampf gegen den Spam ist ein Wettrennen, das von den „guten“ nicht gewonnen werden kann. Ich renne trotzdem mit und habe neben Spamassassin nun noch ein eigenes kleines Plugin fĂŒr den SPP-Patch fĂŒr Qmail geschrieben. Dieser Patch erweitert qmail-smtpd um Plugins, welche in jeder beliebigen Sprache (Shell, C, PHP, Perl, Python …) geschrieben werden können, hauptsache die Shell kann es ausfĂŒhren.

Mein Plugin prĂŒft direkt nach dem „DATA“-Befehl des Senders dessen IP-Adresse auf vorhandensein in der RBL-Liste von spamcop.net. Dort sind IP-Adressen von Spamversendersystemen gelistet inklusive GrĂŒnde, wieso die IP-Adresse gelistet wurde. NatĂŒrlich ist man als Serverbetreiber von der Korrektheit des Anbieters und auf dessen Sorgfalt angewiesen, nach langer Laufzeit konnte ich allerdings bisher keine falschen Einordnungen feststellen. Anhand des folgenden Bildchens erkennt man sehr gut, dass durch den Einsatz des IP-Checks rund 50% des Spamaufkommens schon direkt bei der Kommunikation mit dem Mailserver abgelehnt werden konnte.

Spamstatistik

Mein Plugin kann hier heruntergeladen werden. Geschrieben wurde es mit der Shell und ist relativ einfach erweiterbar und verstÀndlich. Benutzung auf eigene Gefahr!

KategorienInternet, Linux Tags: , , , ,

Webseite nach UTF-8

18. Juni 2007 Keine Kommentare

Hier ein kleines Bash-Script von mir, um eine komplette Webseite (bestehend aus PHP, Javascript und Templates) von ISO-8859-1 zu UTF-8 zu konvertieren. Das Script lÀuft bei mir bestens, ich gebe aber absolut keine Garantie!

#!/bin/sh

echo Konvertiere .php zu UTF-8
for i in `find -name '*.php' | xargs`
do
        iconv -f ISO8859-1 -t UTF-8 $i > "$i"5
        mv "$i"5 $i
done

echo Konvertiere .inc zu UTF-8
for i in `find -name '*.inc' | xargs`
do
        iconv -f ISO8859-1 -t UTF-8 $i > "$i"5
        mv "$i"5 $i
done

echo Konvertiere .tpl zu UTF-8
for i in `find -name '*.tpl' | xargs`
do
        iconv -f ISO8859-1 -t UTF-8 $i > "$i"5
        mv "$i"5 $i
done

echo Konvertiere .js zu UTF-8
for i in `find -name '*.js' | xargs`
do
        iconv -f ISO8859-1 -t UTF-8 $i > "$i"5
        mv "$i"5 $i
done
KategorienLinux Tags: , ,