• Confixx auf Debian GNU/Linux

    (This is a German article from my old homepage.)

    Apache

    Das suexec Kommando, durch das Apache CGI-Programme unter sicherheitstechnischen Einschränkungen laufen lässt, ist im Originalpaket auf den Pfad /var/www konfiguriert. Confixx legt seine WWW-Homes aber unter /home/htdocs an. Deshalb muss Apache neu erzeugt werden:

    # cd /tmp
     # apt-get source apache2
     # cd apache2-*
     # vi debian/rules

    In debian/rules muss die Zeile

    --with-suexec-docroot=/var/www 

    durch

    --with-suexec-docroot=/home/htdocs 

    ersetzt und danach ein neues Apache-Paket gebaut werden:

    # dpkg-buildpackage

    Die entstandenen Pakete können dann per dpkg -i installiert werden.

    vsftpd

    Der FTP-Server vsftpd muss, wie im folgenden beschrieben, konfiguriert werden, dass er

    • anonyme Logins verbietet,
    • Logins lokaler Benutzer ohne valide Shell erlaubt,
    • Schreiben erlaubt und
    • sinnvolle Dateirechte vergibt.

    Wichtige Einstellungen in /etc/vsftpd.conf:

    anonymous_enable=NO
     local_enable=YES
     write_enable=YES
     local_umask=022

    Wichtige Einstellungen in /etc/pam.d/vsftpd:

    #auth   required        pam_shells.so

    Tests

    Ob alle Scripts sauber ausgeführt werden, lässt sich mit folgendem Scriptaufruf testen:

    ./confixx_counterscript.pl -fa -dbg

    Die Funktion des Statistikscripts kann folgendermaßen getestet werden:

    ./httpdtraffik.sh DEBUG

    Weitere Infos

  • BlueTooth unter Linux

    (This is a German article from my old homepage.)

    Einführung

    BlueTooth ist ein Standard zur Datenübertragung per Funk, speziell ausgelegt für geringe Reichweiten. Diese Technologie ermöglicht direkte drahtlose Kommunikation zwischen Handys und Headsets, aber auch zwischen PDAs bzw. Notebooks und Handys. Letztere können dann als Modem zur Internet-Anbindung im Mobilfunknetz verwendet werden.

    Für den LinuxKernel gibt es für BlueTooth ein Treiberpaket namens
    Bluez. Bluez ist inzwischen Bestandteil gängiger Linux-Distributionen.

    Um einen PC oder Notebook BT-fähig zu machen, eignen sich USB-Dongles am besten. Dies sind kleine Stecker für den USB-Port, die die ganze nötige Hardware enthalten. Es sind aber auch PCMCIA-Karten erhältlich und viele Laptops wie der Lenovo R52 haben BT auch bereits eingebaut.

    Welche BT-Geräte unter Linux unterstützt werden, können Sie bei Marcel Holtmann nachlesen.

    Installation

    Bei allen Distributionen ist BlueTooth-Unterstützung inzwischen bereits im mitgelieferten Standard-Kernel integriert.

    Neben den Kernelmodulen sind ggf. noch die folgenden Pakete zu installieren:

    • bluez-libs
    • bluez-utils
    • bluez-sdp
    • bluez-pan

    Sind in der jeweiligen Linux-Distribution die aktuellen Pakete nicht enthalten, ist der Download von der Bluez-Website sinnvoll.

    Inbetriebnahme

    Konfiguration und Starten des HCI-Daemons

    Der "Bluetooth Host Controller Interface"-Daemon (hcid) ist der zentrale BT-Dienst.

    Seine Konfiguration ist in der Datei /etc/bluetooth/hcid.conf abgelegt.

    Der hcid wird von root mit einem der Kommandos

    $ /etc/init.d/hcid start
    $ /etc/init.d/bluez-utils start

    aktiviert. Nach Änderungen an der Konfiguration muss er mit dem Argument "restart" statt "start" neu initialisiert werden.

    Erster Test

    Mit dem Kommando hcitool scan sucht der Rechner nach erreichbaren BT-Geräten. Ein BT-fähiges Handy (zB Nokia 6310, Ericson T68i) sollte hierzu mit aktiviertem BT-Empfang bereitliegen. Andere BT-Geräte wie zB ein Headset sollten vom Handy abgekoppelt sein, um Störungen zu vermeiden. Als Ausgabe liefert hcitool scan eine Liste der gefundenen Geräte mit einer Geräteadresse und ihrem Namen:

    Scanning ...
    00:60:48:6D:5A:D3    Nokia 6310i

    BT-Handy als Modem verwenden

    Konfiguration des hcid

    Für die Nutzung eines BT-Geräts als Modem (z.B. ein UMTS-Handy) ist es wichtig, im device-Block die richtige Geräteklasse zu setzen:

    class 0x100100;

    Kopplung

    Das Kommando

    $ rfcomm bind 0 00:60:48:6D:5A:D3

    öffnet eine Verbindung vom Rechner zum Handy ("Pairing", s.u.) anhand dessen Geräteadresse.

    Eine feste Zuordnung der Geräte erfolgt in /etc/bluetooth/rfcomm.conf. Damit wird direkt beim Zugriff auf die Gerätedatei (i.d.R. /dev/rfcomm0) die Kopplung ausgelöst.

    rfcomm0 {
      bind yes;
      # Bluetooth address of the phone
      device 00:12:D1:7D:33:A9;
      # RFCOMM channel for the connection
      channel 2;
      # Description of the connection
      comment "UMTS dial-up";
    }

    Pairing

    Beim "Pairing" nehmen den beiden Geräte Kontakt miteinander auf. Beim Erstkontakt muss sich der Rechner mit einer mindestens vierstelligen PIN-Nummer authentifizieren.

    Die PIN-Nummer muss in der Datei /etc/bluetooth/pin abgelegt werden.

    In KDE eignet sich zur Abfrage der PIN am besten das Programm kbluepin, das in /etc/bluetooth/hcid.conf wie folgt eingetragen werden muss:

    pin_helper /usr/lib/kdebluetooth/kbluepin

    Den Erstkontakt löst man einfach durch ein kurzes Modemkommando aus:

    $ echo "ATZ" > /dev/rfcomm0

    Nun ist auf dem Handy die PIN einzugeben. Für die Zukunft erspart man sich die Eingabe, indem man die erfolgreiche Paarung im Handy speichern lässt. Dies geschieht bei manchen Handies (Nokia 6310) automatisch, bei anderen (Ericsson T68i) muss es manuell im Menü ausgewählt werden.

    Internet-Anbindung

    Ist das Pairing erst einmal vollzogen, kann /dev/rfcomm0 wie eine gewöhnliche Modem-Schnittstelle genutzt werden. Mit den üblichen Mitteln kann also darüber eine PPP-Verbindung ins Internet aufgebaut werden.

    In Ubuntu Linux habe ich für den UMTS-Zugang in /etc/ppp/peers/umts folgende Daten abgelegt:

    hide-password
    noauth
    connect "/usr/sbin/chat -v -f /etc/chatscripts/umts"
    debug
    /dev/rfcomm0
    460800
    defaultroute
    noipdefault
    user "vodafone"
    remotename nokia-e61
    ipparam nokia-e61
    usepeerdns

    Das passende Chatscript liegt in /etc/chatscripts/umts:

    # ispauth PAP
     # abortstring
     ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 
     'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
     # modeminit
     '' "ATZ"
     OK "AT+CGDCONT=1,42IP42,42web.vodafone.de42"
     # ispnumber
     OK-AT-OK "ATDT*99***1#"
     # ispconnect
     CONNECT dc
     # prelogin
    
    
            

    Read on →

  • Konfigurationen verwalten mit SCPM

    (This is a German article from my old homepage.)

    Wer mit dem selben Rechner wechselweise in verschiedenen Netzwerken arbeitet, wird des Aufwands, immer wieder die Netzwerk-Konfiguration ändern zu müssen, schnell überdrüssig werden. Das betrifft vor allem Notebook-Anwender, die zum Beispiel sowohl in der Firma als auch zu Hause ein Netzwerk nutzen. Immer wieder müssen IP-Adresse, Netzwerkmaske, Nameserver-Adressen, Mail-Konfiguration usw. geändert werden, was manuell eine nervige Aufgabe ist. Abhilfe schafft SCPM.

    SCPM ("System Configuration Profile Manager") ist ein Hilfsprogramm, das seit Version 8.1 zur SuSE Linux Distribution gehört. Es verwaltet unterschiedliche Netzwerk-Konfigurationen und ermöglicht es der Anwenderin, mit einem kurzen Kommando zwischen diesen Konfigurationen, "Profile" genannt, zu wechseln.

    Verwendung von SCPM

    In YaST2 findet sich SCPM unter dem Punkt "Profilmanager" im "System"-Menü. Im Terminal wird SCPM wie folgt verwendet.

    Mit dem Kommando

    scpm enable

    muss SCPM vor der eigentlichen Nutzung einmalig aktiviert werden. An dieser Stelle wird das "Repository" angelegt, in dem SCPM die verschiedenen Konfigurations-Profile ablegt. Im Dateisystem findet sich das Repository unter /var/lib/scpm.

    Ein zweites Mal lässt sich scpm enable nur mit der Zusatzoption -f ("force" = erzwingen) ausführen. Dann wird das Repository mit allen Profilen gelöscht und ein neues angelegt.

    scpm add «profil»

    fügt die aktuelle Netzwerk-Konfiguration dem Repository unter dem Namen «profil» hinzu. Dies muss für jede Konfiguration nur ein Mal erfolgen. Eine Aktualisierung des Profils gehört zum Funktionsumfang des switch Kommandos.

    scpm switch «profil»

    überschreibt die aktuelle Systemkonfiguration mit den Daten des anschließend aktiven Profils «profil». Bei Bedarf
    wird dann das Netzwerk neu gestartet, damit die Konfigurationsänderung zum Tragen kommt.

    Sollte beim Aufruf von scpm switch die aktuelle Systemkonfiguration nicht den für das noch aktive Profil abgelegten Daten entsprechen, fragt scpm für jede betroffene Datei ab, ob der neue Zustand im Repository abgelegt werden soll. Man kann dies nutzen, um das momentan aktive Profil auf den aktuellen Stand zu bringen, indem man mit scpm switch zum bereits aktiven Profil "wechselt".

    Soll ein anderes Profil aktiviert werden, ohne die aktuelle Konfiguration zu speichern, ist die Option -f zu verwenden:

    scpm -f switch «profil»

    Profil beim Booten auswählen

    Mit der Kerneloption PROFILE kann bereits beim Booten ein bestimmtes Profil ausgewählt werden. Diese Kerneloption kann nach Bedarf im Menü des Bootloaders eingegeben oder in seiner Konfigurationsdatei (/etc/lilo.conf bzw. /boot/grub/menu.lst) fest eingestellt werden.

    Bei GRUB könnte zum Beispiel ein entsprechender Eintrag so aussehen:

    title Office
      kernel (hd0,5) /boot/vmlinuz
      root=/dev/hda6 PROFILE=office
      initrd (hd0,5)/boot/initrd

    Eigene Ressourcen definieren

    Welche Ressourcen SCPM verwaltet, wird in sogenannten "resource sets" (RS) definiert. Dies sind Textdateien, in denen die Pfade der Dateien aufgelistet sind, die SCPM in seiner Datenbank ablegen soll. Abgelegt sind die RS im Verzeichnis /lib/scpm/resource_sets. Hier sind bereits in der
    Grundinstallation mehrere verschiedene Dateien vorhanden, von denen gemäß dem Eintrag RESOURCE_SET="typical" in der SCPM-Konfigurationsdatei /etc/scpm.conf die Variante "typical" verwendet wird.

    Ein eigenes RS kann somit einfach dadurch definiert werden, dass man eine vorhandene Datei mit neuem Namen kopiert, sie modifiziert und in /etc/scpm.conf einträgt.

    Zum Beispiel enthält das RS "typical" keinen Eintrag, der den Host- und Dateinamen des Rechners im Profil speichert. Somit ist es nicht möglich, diese Namen zwischen Profilen zu variieren. Dies kann einfach behoben werden. Mit

    cp typical myscpm

    wird zunächst ein neues RS erzeugt, das dann auch in die Konfigurationsdatei /etc/scpm.conf einzutragen ist:

    RESOURCE_SET="myscpm"

    Für die Verwaltung des Host- und Domainnamens muss eine Datei-Ressource /etc/HOSTNAME hinzugefügt werden. Mit einem Texteditor ist also die folgende Zeile in myscpm einzutragen:

    file /etc/HOSTNAME

    Ab sofort verwaltet SCPM auch die Namensinformationen.

  • Yes, EDS, I know what you mean

    [youtube=http://www.youtube.com/watch?v=YdwrYiNJc_E]

    If they don't need me as a team lead any more, I could become a fine cat herder anytime.

  • LPI certification tutorials from IBM

    Today, I found two series of tutorials for the Linux Professional Institute (LPI) certification programme on IBM's DeveloperWorks website.

    In my opinion, a certification is a good thing because the employer can instantly see that you've put some work into your qualifications. But just answering some questionnaire will not bring you far when you've got to do real work, so you'd better add quite some practical experience to the mix.

    Those tutorials provide you with the means to get some of this practice. Therefore, if you're interested in getting an LPI certification (and I know quite a few folks who do), check them out: