Anfang des InhaltsbereichsFunktionsdokumentation Binden von Ports < 1024 auf UNIX Dokument im Navigationsbaum lokalisieren

Verwendung

Mit dem Internet Communication Manager (ICM) können Sie auch auf UNIX privilegierte Ports mit Portnummer 0 bis einschließlich 1023 (well known ports) binden. Dazu wird das externe Bindeprogramm icmbnd mit ausgeliefert.

Im Standardfall bindet der ICM die Ports selbst. Sollen konfigurierte Ports von icmbnd gebunden werden, ändern Sie die Parameterspezifikation für icm/server_port_<xx> im Profil (Transaktion RZ11).

icm/server_port_<xx> = PROT=<Protokoll>, PORT=<Port>, TIMEOUT=<timeout>, EXTBIND=1

Integration

Auf einem UNIX-System können nur Benutzer mit den Superuser-Berechtigungen Ports < 1024 binden. Daher muss entweder der ICM-Prozess mit diesen Rechten ausgestattet werden, oder der Port muss von einem externen Programm gebunden und der Listensocket dann an den ICM übertragen werden.

Voraussetzungen

Sie benötigen für Release 6.10 ein Kernel-Patch-Level über 37. Den Patchlevel Ihres Kernels können Sie auf Betriebssystemebene mit dw -V oder icman -V ermitteln.

Funktionsumfang

Aus Sicherheitsgründen sollte der ICM mit den Standardberechtigungen des <sid>adm-Benutzers des SAP-Systems laufen. Mit diesen Berechtigungen können alle Ports > 1023 gebunden werden, sofern sie nicht schon durch ein anderes Programm gebunden sind. Um Ports < 1024 binden zu können, wird icmbnd direkt vom ICM gestartet, der Port wird von icmbnd gebunden und der Listensocket an den ICM weitergereicht. Dazu muss icmbnd mit den folgenden Superuser-Berechtigungen ausgestattet werden:

chown root icmbnd

chmod 4755 icmbnd

Externes Binden aktivieren

Damit der ICM nicht versucht, den Port selbst zu binden, geben Sie eine zusätzliche Option bei der Konfiguration der Ports mit icm/server_port_<xx> an: EXTBIND=1

Das Format für diesen Parameter hat damit die Form:

PROT=<Protokollname>, PORT=<Port oder Servicename> [, TIMEOUT=<keep alive timeout>, EXTBIND=1]

TIMEOUT und EXTBIND sind optional.

Beispiel

icm/server_port_1 = PROT=HTTP, PORT=8080, TIMEOUT=30, EXTBIND=1

 

Hinweis

Bindeprogramm icmbnd

icmbnd ist das Hilfsprogramm für den ICM zum Binden von Ports.

Parameter

Dieses Programm hat die folgenden Parameter:

Parameter

Beschreibung

optional/obligatorisch

-S <Server-Port>

Administrationsport des ICM, über den der Listensocket von icmbnd an den ICM übertragen wird.

obligatorisch

-l <Listen-Port>

Port, der von icmbnd gebunden werden soll. Dies kann eine Portnummer oder ein Portname sein (z.B. HTTP, SMTP, NNTP).

obligatorisch

-p <Protokoll>

Angabe des Protokolls für den zu bindenden Port (z.B. HTTP, HTTPS, SMTP).

obligatorisch

-k <keep alive>

Angabe des keep-alive-Timeouts (in Sekunden) für den zu bindenden Port. Wenn dieser Parameter nicht angegeben wird, wird der Standardwert des ICM übernommen.

optional

-t <Trace-Level>

Angabe des Trace-Levels (1-3). Standardwert ist 1.

optional

-f <Trace-File>

Angabe des Namen des zu benutzenden Trace-Files.
Standardwert ist
dev_icmbnd.

optional

Fehlermeldungen

Die folgenden Fehler können auftreten und werden von icmbnd protokolliert:

Notwendiges Argument wurde auf der Kommandozeile nicht angegeben.

Es wurde ein ungültiges Argument angegeben.

Eine der (obligatorischen) Optionen -S -l oder -p wurde nicht angegeben.

Eine Verbindung zum ICM auf der Portnummer des Arguments -S <server port> konnte nicht erstellt werden. Bitte prüfen Sie die Angabe des Parameters -S <server port>.

Listen Port konnte nicht gebunden werden. Entweder fehlen die Berechtigungen zum Binden oder der Port ist bereits von einem anderen Programm gebunden.

Der Listensocket konnte nicht zum ICM übertragen werden (Kommunikationsfehler).

Siehe auch:

Weiterführende Informationen finden Sie auf folgenden Man-Pages:

chown, chmod, getuid, setreuid, seteuid, setfsuid

 

 

Ende des Inhaltsbereichs