Versuch, ein SuSE-xsupplicant-Startskript zu erstellen. Da ich kein SuSE benutze, kann ich es z. Zt. nicht testen...

Datei speichern als /etc/init.d/1x oder so:

# Konfiguration
IFACE=eth0
ARGS=""
BIN=/usr/local/bin/xsupplicant


. /etc/rc.status
rc_reset
case "$1" in
    start)
        echo -n "Starting xsupplicant "
        ifconfig ${IFACE} allmulti up 
        ${BIN} -i ${IFACE} ${ARGS} < /dev/tty11 >& /dev/tty11 & 
        rc_status -v
        ;;
    stop)
        echo -n "Shutting down xsupplicant "
        killall ${BIN}
        rc_status -v
        ;;
    restart)
        $0 stop
        $0 start
        rc_status
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac
rc_exit

Das Programm, mit dem man unter SuSE Startskripte hinzufügt heißt meines Wissens insserv, das legt einem dann "irgendwie" automatisch die Links in die einzelnen Runlevel-Verzeichnisse. Kann aber auch sein, dass dazu noch die im obigen Skript fehlenden Meta-Informationen nötig sind. In der Datei /etc/init.d/skeleton gibt's die passende Vorlage, die auch ich benutzt habe.

Mit insserv hab ich es leider nicht hinbekommen, hab es aber auch nicht länger damit probiert. Eine andere Lösung, die ich erfolgreich angewendet habe, ist:

ln -s /etc/init.d/<scriptname> /etc/init.d/rc5.d/S04<scriptname> 

Das sollte reichen. Zu beachten ist, dass <scriptname> nur ein Platzhalter und deswegen frei wählbar ist, allerdings bietet sich einer mit hohem Wiedererkennungswert an, z.B.: Suse1x. Der symbolische link unterliegt einer Namenskonvention. An erster Stelle steht ein großer Buchstabe S oder K. Das S (start) steht für ein Startskript, wogegen K (kill) für ein Stoppscript steht. In unserem Falle ist das S notwendig. Es folgen immer zwei Zahlen 00 bis 99. Damit ist die Reihenfolge bestimmt, an welcher Stelle dieses Script abgearbeitet wird, da mehrere Skripte in einem runlevel liegen. In unserem Falle wird das Skript an 4. Stelle abgearbeitet. Wichtig ist das man dieses Skript, vor anderen Skripten, die auf das Netzwerk zugreifen, setzt.


Ein Beispiel für eine Konfigurationsdatei für xsupplicant 1.0: (Bin mir nicht sicher ob sie als /etc/1x/1x.conf oder /etc/1x/xsupplicant.conf abgespeichert werden muss.)

network_list = all
default_netname = default

logfile = /var/log/xsupplicant.log

default
{
  allow_types = eap-md5
  type = wired

  identity = <BEGIN_ID>benutzername<END_ID>

  eap-md5 {
      username = <BEGIN_UNAME>benutzername<END_UNAME>
      password = <BEGIN_PASS>PaSsWoRt<END_PASS>
  }
}

Denkt dran, die Datei mit chmod 600 /etc/1x/1x.conf für normale Benutzer nicht einsehbar zu machen, da immerhin euer HRZ-Passwort im Klartext darin steht!

SuSE1x (last edited 2008-03-06 09:39:30 by localhost)