Hallo, On May 4 07:55 Dietmar Kühn wrote (excerpt):
Am 03.05.2011 15:58, schrieb Johannes Meixner:
Für viele Fälle sollte Port 631 gemäß der Einträge in /etc/bindresvport.blacklist geschützt sein, nämlich dann, wenn Programme die glibc Funktion bindresvport verwenden.
Aber nichts kann ein beliebiges Programm daran hindern, sich Port 631 ohne Verwendung von bindresvport zu nehmen, wenn Port 631 während des Bootens noch frei ist zu einem Zeitpunkt an dem der cupsd noch nicht gestartet worden ist.
Wie ich es derzeit sehe (ich bin aber hier kein Experte) hilft dann nur, solche Programme, die Port 631 nehmen, einzeln - wenn möglich - so zu konfigurieren, dass sie Port 631 nicht mehr nehmen.
Das Problem ist nun zwar erkannt, eine brauchbare Lösung scheint es derzeit aber nicht zu geben. Welcher "Otto-Normalverbraucher" soll denn alle seine Programme einzeln so konfigurieren, daß Port 631 nicht benutzt wird?
Ja leider - ich bin aber hier kein Experte, um fundierte Ausagen dazu machen zu können.
Das ist völlig unzumutbar, und wirft leider wieder einmal ein schlechtes Licht auf das ansonsten recht stabile und zuverlässige linux als Betriebssystem.
Wie ich es sehe, ist es letztlich dasselbe "schlechte Licht", was auf jeder Art von freier Entscheidungsfindung liegt, wo es nicht ein totalitäres Oberkommando gibt, was für alle die Entscheidungen fällt und durchsetzt, sondern wo statt totalitärer Befehle langsame, mühevolle Prozesse einen Konsens und die Akzeptanz aller Beteiligten finden müssen. Der Wunsch nach einem weisen, gütigen Oberkommandierenden, der für alle sorgt und alles richtig macht, ist niemals auf Dauer erfüllbar. Hart formuliert: Wer freie Strukturen nicht mittragen will, soll halt "auswandern" und sich einem totalitären Oberkommando unterwerfen und muss dann aber auch die Konsequenzen daraus aushalten. Kurz: Entweder freie Software und die Konsequenzen der Freiheit mittragen, oder proprietäre Software und auf die eigene Freiheit verzichten.
Vielleicht könne man, als "workaround", am gesamten boot-prozeß etwas andern: zu einem sehr frühen Zeitpunkt einen Prozeß starten, dessen einzige Aufgabe darin besteht, Port 631 zu nehmen. In /etc/init.d/cups müßte bei "start" dieser Dienst dann beendet werden, und erst nach Freigabe von Port 631 der cupsd starten.
portreserve macht das, siehe http://cyberelk.net/tim/software/portreserve/ und https://bugzilla.redhat.com/show_bug.cgi?id=103401 Immerhin hat Red Hat von August 2003 bis November 2010 gebraucht, sich zu einigen, wie das Problem in Red Hat Enterprise Linux 6.0 behandelt wird. Vermutlich gibt es Gründe, warum portreserve nicht bzw. noch nicht bei openSUSE verwendet wird. Wir haben bzgl. portreserve auch einen FATE Feature-Request: https://fate.novell.com/311668 Aber der ursprüngliche Request "Add portreserve rpm (NFS)" wurde mittlerweile abgeschwächt zu "ask for the inclusion of port 657 / rmc in /etc/bindresvport.blacklist" weil es hierbei eigentlich um "stealing well-known ports via bindsresvport" geht was sich via /etc/bindresvport.blacklist abstellen läßt. Wie gesagt: Ich bin hier kein Experte, um fundierte Ausagen zu dem Themenbereich machen zu können. Gruß Johannes Meixner -- SUSE LINUX Products GmbH -- Maxfeldstrasse 5 -- 90409 Nuernberg -- Germany HRB 16746 (AG Nuernberg) GF: Jeff Hawn, Jennifer Guild, Felix Imendoerffer