Bei kppp handelt es sich um ein grafisches Frontend zum PPP-Dämon pppd einschließlich Wählhilfe. Das Programm ist Bestandteil des K Desktop Environments und im Paket kdenetwork enthalten.
Worauf es ankommt
Dieser Artikel stellt Ihnen die Konfiguration von kppp vor und geht auf mögliche Probleme und deren Behebung ein. Dabei gehe ich davon aus, dass pppd und kppp auf dem Rechner bereits installiert sind und der Linux-Kernel PPP unterstützt. Dies ist bei Standard-Kerneln einer Distribution in der Regel der Fall. Ansonsten bleibt Ihnen immer noch ein Blick in den Kasten "Wir bauen unser eigenes Betriebssystem" im ISDN-Artikel.
Sie können aber der Sicherheit halber als root nachschauen: Geben Sie
# dmesg | more
ein (ohne das #, das die Eingabeaufforderung für root darstellt) und suchen Sie nach etwas wie
PPP: version 2.3.3 (demand dialling) PPP line discipline registered.
dmesg wiederholt Ihnen die Meldungen, die der Kernel (sprich: Ihr Betriebssystem) beim Booten von sich gegeben hat. Wenn PPP einkompiliert ist, sollte Ihnen der Kernel das etwa wie oben mitteilen.
# pppd --version
sollte eine Meldung wie
pppd version 2.3 patch level 5
produzieren.
Wir stellen ein
Wie bei so vielen Dingen kochen gerade bei PPP alle Distributoren ihr eigenes Süppchen. Die voreingestellte Konfiguration ist je nach Distribution zum Teil sehr verschieden, so dass manche Benutzer größere Probleme bei der Konfiguration von kppp haben als andere. Dies betrifft vor allem die Zugriffsrechte für die kppp-relevanten Dateien.
Bevor Sie sich blauäugig ins Ungewisse stürzen, lohnt es sich daher, die Checkliste im Kasten "Checkliste: Systemeinstellungen" durchzuarbeiten.
Checkliste: Systemeinstellungen
Voreinstellungen
Die Datei /etc/ppp/options sollte leer sein. Kommentieren Sie sicherheitshalber mit einem # am Zeilenanfang alles aus, insbesondere die lock-Zeile (diese sollte zwar ab KDE 1.1.1 kein Problem mehr darstellen, aber sicher ist sicher…).
Zugriffsrechte
Von Hause aus darf unter Linux nur root eine Netzverbindung starten und auf das Modem zugreifen. Und das ist auch gut so (denken Sie mal an Ihre Telefonrechnung…). Andererseits sollten Sie nie als root im Netz surfen – böswillige Menschen könnten sich dann ggf. unbeschränkten Zugang zu Ihrem Rechner verschaffen! Damit auch ein Normaluser eine Verbindung zum Internet mit kppp aufbauen darf, muss er bzw. kppp Zugriffsrechte für die folgenden Dateien erhalten:
- $(KDEDIR)/bin/kppp: Ausführen (x)
- pppd: Ausführen (x)
- Modemschnittstelle /dev/ttySx: Lesen/Schreiben (rw)
- /etc/resolv.conf: Lesen/Schreiben (rw)
- Lockverzeichnis /var/lock: Lesen/Schreiben (rw)
- /etc/ppp/options: Lesen (r)
- /var/log/messages: Lesen (r)
Um normalsterblichen Benutzern diese Berechtigungen einzuräumen, gibt es zwei Möglichkeiten: entweder Sie setzen das SETUID- (oder s-)Bit oder Sie richten eine Gruppe ein, die kppp ausführen darf.
- Normalerweise führen Sie ein Programm immer als Sie selbst aus. Das SETUID- oder s-Bit bewirkt, dass derjenige, der ein Programm aufruft, das root gehört, dies stattdessen mit root-Rechten tut. Da root bekanntermaßen alles darf, ist das recht gefährlich, wenn es dem Aufrufenden durch Fehler im Programm o.a. Hintertürchen gelingt, diese auf die Ausführung eines Programms beschränkten root-Rechte auszuweiten.
Im Falle von kppp wurde durch verschiedene Modifikationen dafür gesorgt, dass keine relevanten Sicherheitsprobleme auftreten können. Neuere Versionen von kppp werden automatisch mit gesetztem SETUID-Bit installiert. Dies ist aber nicht bei allen Distributionen der Fall. Sie können dies ganz einfach überprüfen:
# ls -l $(KDEDIR) /bin/kppp -rwsr-sr-s 1 root root ......... kppp
Falls dem nicht so sein sollte, ändern Sie als root einfach die Rechte für kppp :
# chmod a+xs $(KDEDIR) /bin/kppp
In früheren Kppp-Versionen musste man auch die Rechte für pppd ändern. Das ist jetzt nicht mehr erforderlich!
Wenn Sie nur bestimmten Nutzern den Zugang ins Internet erlauben wollen, legen Sie eine Datei /etc/kppp.allow an, in der Sie die jeweiligen Benutzernamen (untereinander) eintragen. Achten Sie aber darauf, dass außer root niemand an dieser Datei herumspielen darf…
Jetzt müßte kppp problemlos funktionieren. Aber wie das nunmal so ist: keine Regel ohne Ausnahmen. Manche Distributionen (insbesondere Red Hat und verwandte Distributionen) lassen diesen einfachen Weg nicht zu. In diesem Fall wählen Sie bitte Möglichkeit 2.
- Der andere (wenn auch etwas umständlichere) Weg ist, eine Benutzergruppe einzurichten, deren Mitglieder kppp und pppd ausführen dürfen und Lese- bzw. Schreibberechtigung für die in der o.g. Liste aufgeführten Dateien haben. Nehmen wir an, Sie wollen eine Gruppe namens dialout für den Internetzugang einrichten, der die User max und moritz angehören. Das funktioniert dann so:
# groupadd dialout # usermod -G dialout max # usermod -G dialout moritz
Anschließend werden die Gruppenzugehörigkeit sowie die Zugriffsrechte der besagten Dateien geändert: Wechseln Sie zunächst mit dem Befehl cd ins Verzeichnis, wo kppp liegt, und geben Sie dann folgende Kommandos:
# chgrp dialout kppp # chmod g+x kppp
Wechseln Sie anschließend ins Verzeichnis, das pppd enthält… # chgrp dialout pppd # chmod g+x pppd # chgrp dialout /etc/resolv.conf # chmod g+rw /etc/resolv.conf
(… und so weiter für die übrigen Dateien)
Wenn wir uns jetzt noch ein paar Daten von unserem Provider besorgt haben (siehe Kasten "Checkliste: Daten vom Provider"), können wir endlich loslegen.
Checkliste: Daten vom Provider
Was Sie alles erfragen sollten…
- Telefonnummer und
- Domain-Namen des Internet Service Providers (ISP)
- Internetadresse des DNS-Servers (am besten gleich zwei, falls einer mal ausfällt)
- Authentifizierungsverfahren (Servertyp): PAP (meistens) oder CHAP?
- IP-Adresse:
Meistens vergibt der ISP nur dynamische IP-Adressen. Falls Sie in der glücklichen Position sind, eine statische IP zugewiesen bekommen zu haben, müssen Sie noch die Netzwerkmaske kennen.
- Zugangskennung (User-ID) und Passwort für die Authentifizierung
- Wird PPP auf der Providerseite automatisch gestartet? Dies ist meistens der Fall.
- Wird dem eigenen Rechner eine bestimmte Domain zugewiesen?
Am Anfang ist es sinnvoll, kppp aus einem Terminalfenster heraus zu starten, weil man dann sieht, was das Programm so von sich gibt. Später können Sie es nach Belieben im K-Menü (i.a. Internet-->Kppp) anklicken, ins Panel einbetten (je nach Distribution zum Beispiel Kontrolleiste (Panel) --> Anwendung (Programm) hinzufügen --> Internet --> Kppp), in einem Terminal starten oder im Kommandozeilenmodus (Alt-F2) aufrufen.



