Automatisierter FTP Download per bash script

klimmbimm 1. September 2010

Heute habe ich ein kleines Skript geschrieben. Ziel ist es, dass Dateien von einem FTP Server in ein lokales Verzeichnis verschoben werden. Des weiteren wird jede .txt Datei nochmal mit der Endung .end gespeichert.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/sh
# change directory
 
cd /lokalesVerzeichnis
 
# get all files from the FTP-Server
# Delete them on the remote server
 
USER=ftpuser
PASSWD=ftppassword
ftp -n ftp.example.net <<SCRIPT
user $USER $PASSWD
binary
cd remoteDir
mget *
quit
SCRIPT
 
# Rename all filenames in cache directory with "txt" suffix to a "end" suffix.
# For example, "file1.txt" becomes "file1.end" . . .
 
oldext=txt
newext=end
 
for i in $(ls *.$oldext)
do
cp -f $i ${i%.$oldext}.$newext
done

Single Sign on mit Apache und Active Directory

klimmbimm 25. August 2010

Ziel dieses How-tos ist es, das Mitarbeiter, die mit dem Internet Explorer bzw. Firefox eine Intranet-Seite Abrufen, Authentifiziert werden. Es soll allerdings keine Extra Passwortabfrage kommen sondern bloß überprüft werden, ob sich der User zuvor korrekt an der Windows Domäne angemeldet hat.

Hierzu benutzen wir das Modul mod_auth_kerb, dass automatisch die Credentials vom Browser bezieht.

Integration des Apache Servers ins AD

Das Vorgehen hierfür habe ich in diesem Artikel bereits beschrieben.

Anlegen der Keypass Datei

Am besten legt man sich erstmal einen Service-Benutzer im AD an.
Den ganzen Beitrag lesen »

Integration von Debian Lenny ins Active Directory

klimmbimm 25. August 2010

Da es bei der Integration von Linux ins Active Directory zu diversen Problemen kommen kann, habe ich mich entschlossen ein kleines how-to zu schreiben.

Netzwerk

Das wichtigste, dass funktionieren muss, ist die DNS-Auflösung. Es muss der Name des Domaincontrollers so wie der eigene Hostname aufgelöst werden (Zur Not den eigenen Hostnamen per Hand im DNS anlegen).

Hier eine funktionierende Beispielkonfiguration mit statischer IP.

debian:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
 
# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.32
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
broadcast 192.168.1.255
debian:~# cat /etc/resolv.conf
search example.org
nameserver 192.168.1.2

Man aktiviert die neue Konfiguration mit

debian:~# ifdown eth0
debian:~# ifup eth0

Pakete installieren

debian:~# aptitude install libkrb53 krb5-{admin-server,kdc} samba winbind ntpdate ntp ssh

Dienste konfigurieren

Als erstes die soeben installierten Dienste stoppen.

debian:~# /etc/init.d/samba stop && /etc/init.d/winbind stop && /etc/init.d/ntp stop

Den ganzen Beitrag lesen »

Wordpress Posts mit dem Android App Wordpress 1.2

klimmbimm 19. Mai 2010

image

Seit wenigen Tagen bin ich stolzer Besitzer eines HTC Hero, das in Deutschland als T-Mobile G2 touch verkauft wird. Dies ist daher jetzt mein erster post mit dem dazugehörigen App. Wordpress 1.2
Die Installation erfolgt aus dem Market.
Features:
Kommentare verwalten
Artikel und Seiten anlegen und bearbeiten.

Das Bild wurde mit der eingebauten Kamera aufgenommen und eingefügt. Leider lädt das App Bilder nur in ihrer Originalgröße hoch und beim einfügen eines Videos direkt von der Kamera hat es ganz versagt.

Icinga: Scan to config mit nmap und Nmap2Nagios_ng

klimmbimm 18. März 2010

In diesem Artikel geht es um die Implementierung einer Scan-Automatik für Icinga. Dies dient zum einen dazu, Server, Workstations und andere Geräte nicht alle von Hand anlegen zu müssen, zum anderen hat man auch eine Chance Geräte ausfindig zu machen, die eigentlich nichts im Intranet zu suchen haben.

Alle manuellen Eingriffe ersetzt dieses Script leider nicht. Es dient lediglich dazu die Arbeit zu erleichtern

Installation

1
2
3
4
5
# wget http://klimmbimm.de/wp-content/uploads/nmap2nagios-ng.tar
 
# tar xvfz nmap2nagios-ng.tar -C /usr/local/icinga/libexec
 
# aptitude install nmap libxml-simple-perl

Beispielaufruf:

nmap für einen Node:

1
# nmap -sS -O -oX 192.168.100.1.xml 192.168.100.1

nmap für ein subnet:

1
# nmap -sS -O -oX subnet.xml 192.168.1.0/24

nmap2nagios-ng:

1
2
3
4
5
6
7
8
9
10
11
# ./nmap2nagios.pl -i -e -r subnet.xml -o newhosts.cfg
 
# icinga1:/usr/local/icinga/libexec/nmap2nagios-ng# ./nmap2nagios-ng.pl -h
nmap2nagios-ng.pl: -v -i -z||d -r {'nmap_results_file'} -o {'output_file'}
-i Ignore Unknown Services
-v Verbose
-V Serious Verbose
-z Nagios Version 2.x
-d Nagios Version 3.x
-e Icinga Version 1.x
-h This screen

Einbindung in Icinga

Erweitern Sie die Icinga Commands um folgende:

1
# nano /etc/icinga/objects/commands.cfg
1
2
3
4
5
6
7
8
9
10
11
# 'check_icmp' command definition
define command{
command_name check_icmp
command_line $USER1$/check_icmp -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
}
 
# 'check_dig' command definition
define command {
command_name check_dig
command_line $USER1$/check_dig -H $HOSTADDRESS$ -l $ARG1$
}

Kopieren Sie die .cfg Datei nach /etc/icinga

1
# cp newhosts.cfg /etc/icinga

Binde die Datei in icinga.cfg ein

1
cfg_file=/etc/icinga/newhosts.cfg

Lade die Icinga config neu:

1
# /etc/init.d/icinga reload

Bugfix

Falls ein Fehler auftritt teste die Icinga config

1
# /usr/local/icinga/bin/icinga -v /etc/icinga/icinga.cfg

Einstellungen kann man in den .conf Dateien im nmap2nagios Ordner ändern.

Weiterführende Links

Linux: Manuelles Anpassen der Netzwerk-config

klimmbimm 17. März 2010

Die IP Adresse wird unter Linux(egal ob Suse, Ubuntu, Red Hat oder Debian) in der Datei /etc/network/interfaces geregelt. Wenn Sie Werte verändern, fahren Sie die Schnittstelle zuerst herunter, und dann wieder hoch.

1
2
3
# ifdown eth0
# editor /etc/network/interfaces
# ifup eth0

In der Datei selber könnte zum Beispiel folgendes stehen:

1
2
3
4
5
6
7
8
9
10
11
iface eth0 inet static
 
address 192.168.0.123
 
netmask 255.255.255.0
 
gateway 192.168.0.1
 
dns-search example.org
 
dns-nameservers 192.1681.1 192.168.50.1

Diese und weitere Grundlagen kann man gut mit dem Buch Linux 2010: Debian, Fedora, openSUSE, Ubuntu. von Michael Kofler, der schon mehrere Linux Standardwerke veröffentlicht hat, lernen.

Icinga: Abfragen von Routern und anderen Geräten über SNMP

klimmbimm 10. März 2010

In diesem Beitrag beschreibe ich die Abfrage von Routern (Cisco, Linksys, Enterasys, Netgear, Alcatel) über SNMP mit Hilfe von check_snmp. Da SNMP nach RFC 1157 und RFC 3410 standardisiert ist, kann man damit so ziemlich jedes Gerät zwischen Drucker, Windows/Linux Server und Routern/Switches über das Netzwerk abfragen. Dabei stehen dem einem so viele Werte zur Verfügung, dass man zuerst einmal auswählen muss welche man überhaupt überwachen will.

1.) Konfiguration des Routers für Zugriff über SNMP.

Der erste Schritt, ist die Einrichtung des Routers. SNMP V1 und V2c haben keine User/Password Authentifizierung, sondern bloß einen Community-String. Dieses Passwort wird benötigt um Werte über SNMP abzufragen oder zu verändern. Die Konfiguration geschieht entweder über Telnet oder ein Webinterface auf dem Router.

Achtung: Per Default ist auf den Meisten Geräten mit SNMP der String “public” als Read-Only und “private” als Read-Write eingestellt. Dies ist eine Sicherheitslücke, die Sofort geschlossen werden sollte!

2.) Installation von check_snmp

Wenn man Icinga nach dem Tutorial auf dieser Seite installiert hat, sollte das Plugin auf jeden Fall schon da sein, weil es in den Standard-Nagios-Plugins enthalten ist. Sollte das Plugin nicht installiert sein, Den ganzen Beitrag lesen »

Icinga/Nagios Plugin: check_multi verknüpft check results

klimmbimm 7. März 2010

Das Plugin check_multi plugin ist ein Allrounder unter den Nagios bzw. Icinga plugins. Es gibt einem die Möglichkeit mehrere checks zu kombinieren und logisch UND/ODER verknüpfen.

Praktisch sieht das so aus: Man hat eine config Datei pro check_multi Instanz. In dieser wird festgelegt welche Aufgaben check_multi abarbeiten soll und wie er die Ergebnisse zu behandeln hat. Dadurch verringern sich auch die Aufgaben, um die sich Icinga selber kümmern muss. Icinga ruft lediglich check_multi auf, welches dann beliebig viele subchecks aufruft.

Download und Installation

Die Installation ohne fertige Pakete (rpm oder debs) muss unter Icinga etwas angepasst werden, da die default Werte nur für Nagios passen.

Als erstes ist die aktuelle Version herunterzuladen und zu entpacken.

1
2
3
# wget http://my-plugin.de/check_multi/check_multi-0.20.current.tgz
 
# tar xvzf check_multi-0.20.current.tgz

Den ganzen Beitrag lesen »

Syntax Highlighting und Code Darstellung

klimmbimm 26. Februar 2010

In vielen technischen Artikeln die man so schreibt setzt man immer wieder Code-Schnipsel oder Shell Befehle ein. Um seinen Besuchern ein möglichst einfache Orientierung im Text zu ermöglichen wäre es schön diese Stellen speziell hervorzuheben und eventuell auch noch ein Syntax Highlighting durchzuführen.

Ich habe mehrere Plugins getestet und bin schließlich bei WP-Syntax geblieben, da es extrem viele Sprachen unterstützt und als Erweiterung über das WP-Syntax Editor Integration Plugin verfügt mit Hilfe dessen man einen Button im WYSIWYG Editor bekommt. Die Codeteile werde  im HTML so markiert: <pre lang="LANGUAGE" line="1"> #TESTCODE#  </pre>

Den ganzen Beitrag lesen »

Video Tutorial zu Icinga veröffentlicht

klimmbimm 25. Februar 2010

Nachdem das “Tutorial – Icinga mit IDOutils und mysql unter Debian, virtualisiert” hier sehr gut angekommen ist habe ich jetzt die gesamte  Icinga Installation als Video auf Youtube gestellt:

Tutorial: Icinga mit IDOutils und mysql unter Debian(german) – 1/3

Tutorial: Icinga mit IDOutils und mysql unter Debian(german) – 2/3

Den ganzen Beitrag lesen »

Nächste Einträge »