Table of Contents
Geheimnisse von /etc/init.d/network.sh
Einführung
SliTaz startet bei der Systemeinleitung die Kommandoprozedur /etc/init.d/network.sh, um das Netzwerk zu initialisieren. Diese konfiguriert den Hostnamen, die Loopback-Schnittstelle und einen Netzwerkadapter (für die Internetverbindung).
Es ist auch möglich, die Kommandoprozedur nach dem Start von SliTaz aufzurufen und sie zum Öffnen oder Schließen von Internetverbindungen zu verwenden. Zum Beispiel wird sie von netbox und den Prozeduren get-modulename-firmware (get-ipw2100-firmware, get-b43-firmware…) verwendet.
Verwendung
Standardmäßig verwendet /etc/init.d/network.sh die Datei /etc/network.conf als Konfigurationsdatei. In diese Datei geschriebene Parameter sind für die Standard-Netzwerkverbindung vorgesehen.
Zum Starten der Standardverbindung, wie bei der Systemeinleitung:
# /etc/init.d/network.sh start
Der Parameter start sollte nur bei der Systemeinleitung verwendet werden.
Zum Beenden der Verbindung:
# /etc/init.d/network.sh stop
Anhalten und Neustart:
# /etc/init.d/network.sh restart
Am interessantesten ist jedoch, dass /etc/init.d/network.sh auch eine andere Konfigurationsdatei verwenden kann. Das ist nützlich, wenn Sie einen Klapprechner benutzen, der alternativ Verbindungen zu verschiedenen WLAN-Zugangspunkten aufbauen soll.
Es kann zum Beispiel ein Verzeichnis /etc/network erstellt werden, das einige Konfigurationsdateien mit folgenden Namen enthält:
- Home, für zu Hause, unter Verwendung einer Ethernet-Verbindung und einer statischen Netzwerkadresse.
- Desktop, für ein Drahtlosnetzwerk im Büro mit WEP-Verschlüsselung und einer statischen Netzwerkadresse.
- Uni, Drahtlosnetzwerk ohne Verschlüsselung und mit DHCP.
Jetzt müssen wir nur noch zu Hause, im Büro oder in der Universität eine Verbindung herstellen, indem wir zuvor die Standardverbindung beenden:
# /etc/init.d/network.sh restart /etc/network/Home # /etc/init.d/network.sh restart /etc/network/Desktop # /etc/init.d/network.sh restart /etc/network/Uni # /etc/init.d/network.sh stop
Sudo
/etc/init.d/network.sh kann a priori nur vom Systemadministrator benutzt werden. Soll es auch von normalen Benutzern benutzt werden können, sollten Sie sudo installieren.
# tazpkg get-install sudo
Und dann konfigurieren:
# visudo
Der Benutzer tux soll network.sh von jedem Host aus benutzen dürfen ohne ein Kennwort eingeben zu müssen:
tux ALL=NOPASSWD: /etc/init.d/network.sh
Der Benutzer tortux darf sich nur von localhost aus verbinden und muss immer ein Kennwort angeben:
tortux my_hostname=PASSWD: /etc/init.d/network.sh
Den Hostnamen können Sie mit
$ cat /etc/hostname
ermitteln.
Hier noch eine Hilfe zur Verwendung von visudo:
- i Einfügemodus (zum Schreiben).
- Escape Beenden des Einfügemodus.
- :wq Schreiben und Beenden.
- :q! ohne Schreiben beenden.
Openbox
All das vorherige ist nicht wirklich benutzerfreundlich…
Deshalb im folgenden eine Möglichkeit, all dies in ein Openbox-Menü zu integrieren!
Erstellen Sie eine Kommandoprozedur /usr/lib/openbox/network-menu.sh mit folgenden Kommandos:
#!/bin/sh # # openbox pipe-Menü zum Herstellen von Netzwerkverbindungen # (Diese Kommandoprozedur ist nur nützlich, wenn sudo installiert und korrekt konfiguriert ist) echo '<openbox_pipe_menu>' # für die Standardkonfigurationsdatei: echo '<item label="Standardnetzwerkkonfiguration verwenden">'. echo -n '<action name="Ausführen"><execute>' echo -n "sudo /etc/init.d/network.sh restart" echo '</execute></action>' echo '</item>' # für andere Konfigurationsdateien (Sie können hier auch ein anderes Verzeichnis angeben, # abhängig von Ihrer Installation): # z.B. schön für sparsame Installationen: # ls /home/tux/network/ | while read; do ls /etc/network/ | while read do echo '<item label="'"${REPLY}"'">' echo -n '<action name="Ausführen"><execute>' echo -n "sudo /etc/init.d/network.sh restart '/etc/network/${REPLY}"" echo '</execute><</action>' echo '</item>' done # Um Verbindungen abzubauen: echo '<item label="Verbindung abbauen">' echo -n '<action name="Ausführen"><execute>' echo -n "sudo /etc/init.d/network.sh stop" echo '</execute></action>' echo '</item>' echo '</openbox_pipe_menu>'.
Machen Sie die Kommandoprozedur ausführbar:
# chmod +x /usr/lib/openbox/network-menu.sh
Und jetzt müssen nur noch die folgenden Zeilen in ~/.config/openbox/menu.xml eingefügt werden:
<menu id="network-menu" label="Netzwerk" execute="/usr/lib/openbox/network-menu.sh" />
Aktualisieren Sie dann die openbox-Konfiguration:
$ openbox --reconfigure
Viel Spaß!
Qualitätsbericht | |
---|---|
Qualität | gut |
Überprüfung | wegen netbox erforderlich |
Priorität | mittel |
Probleme | visudo verwendet nano mit anderen Anweisungen als den angegebenen |
die Menüerweiterung für openbox funktioniert so nicht | |
Verbesserungsvorschläge |