Dies ist der Befehl authbind, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
authbind – Sockets an privilegierte Ports ohne Root binden
ZUSAMMENFASSUNG
authbinden [Optionen] Programm [Argument ...]
BESCHREIBUNG
authbinden Ermöglicht einem Programm, das nicht als Root ausgeführt wird oder sollte, die Bindung an Programme mit niedriger Nummer
Ports kontrolliert ansteuern.
Sie müssen das Programm mit aufrufen authbinden. authbinden Ich werde eine Umgebung einrichten
Variablen, einschließlich einer LD_PRELOAD, wodurch das Programm (einschließlich aller
Unterprozesse, die es möglicherweise ausführt), zur Bindung an Ports mit niedriger Nummer (<512), wenn das System konfiguriert ist
um dies zu ermöglichen.
OPTIONAL
--tief Normalerweise authbinden sorgt dafür, dass nur das Programm ausgeführt wird, das es direkt aufruft
betroffen von seiner speziellen Version von binden(2). Wenn Sie angeben --tief dann alle
Programme, die dieses Programm direkt oder indirekt aufruft, sind betroffen
solange sie die von eingerichteten Umgebungsvariablen nicht deaktivieren authbinden.
--Tiefe Cholesterinspiegel
Ursachen authbinden um Programme zu beeinflussen, die sind Cholesterinspiegel tief im aufrufenden Diagramm. Der
Standard ist --Tiefe 1.
ACCESS STEUERN
Der Zugriff auf Ports mit niedriger Nummer wird durch Berechtigungen und Dateiinhalte in a gesteuert
Konfigurationsbereich, /etc/authbind.
Erstens /etc/authbind/byport/port wird getestet. Wenn diese Datei zur Ausführung zugänglich ist
der anrufende Benutzer, gem Zugang(2), dann ist die Bindung an den Port zulässig. Wenn die
Es ist ersichtlich, dass die Datei nicht existiert (die Existenzprüfung wird zurückgegeben). ENOENT), dann werden weitere Tests durchgeführt
verwendet werden, um eine Genehmigung zu finden; andernfalls ist eine Bindung nicht zulässig und die binden rufen Sie uns an!
werde mit dem zurückkehren Fehler Wert von der Zugang(2) normalerweise anrufen EACCES (Genehmigung
verweigert).
Zweitens, wenn dieser Test die Angelegenheit nicht klären kann, /etc/authbind/byaddr/Adr,port (irgendein
Protokoll) oder wenn dies nicht gelingt /etc/authbind/byaddr/Adr:port (nur IPv4) wird getestet
auf die gleiche Weise wie oben. Hier Adr ist wie von inet_ntop und port ist das (lokale) TCP oder UDP
Portnummer, ausgedrückt als vorzeichenlose Ganzzahl mit der minimalen Anzahl von Ziffern ungleich Null.
Drittens nur für IPv6: da die textliche Darstellung ab inet_ntop ist kompliziert zu
vorhersagen, eine Variante von Adr Getestet wird auch, dass der Doppelpunkt nicht verwendet wird
Abkürzung: Jeder 16-Byte-Block, ausgedrückt in der minimalen Anzahl von Hexadezimalstellen ungleich Null
(d. h. ohne führende Nullen), wobei die Abschnitte unverändert durch Doppelpunkte getrennt werden
konventionell.
Viertens, wenn die Frage immer noch ungelöst ist, die Akte /etc/authbind/byuid/uid wird sein
geöffnet und gelesen. Wenn die Datei nicht vorhanden ist, ist die Bindung nicht autorisiert und binden
wird zurückkehren EPERM (Produktion nicht zulässig, oder Sie hilft nicht nur Eigentümer). Wenn die Datei vorhanden ist, wird sie vorhanden sein
nach einer Zeile des Formulars gesucht werden
Adrmin[-Adrmax],Hafenmin[-Portmax]
Adr[/Länge],Hafenmin[-Portmax]
Adresse4/Länge:Hafenmin,Portmax
passend zur Anfrage. Das erste Formular erfordert, dass die Adresse im relevanten Bereich liegt
(inklusive an beiden Enden). Die zweite und dritte Form erfordern die Initiale Länge Bits
of Adr mit denen im Vorschlag übereinstimmen binden Forderung. Die dritte Form ist nur für IPv4 verfügbar
da IPv6-Adressen Doppelpunkte enthalten. Adressen in der byuid-Datei können in beliebiger Form vorliegen
akzeptabel für inet_pton. In allen Fällen muss die vorgeschlagene Portnummer im liegen
Inklusivbereich angegeben. Wenn eine solche Zeile gefunden wird, wird die Bindung genehmigt.
Ansonsten ist es nicht, und binden wird scheitern mit ENOENT (Nein so Datei or Verzeichnis).
Wenn ein Lesefehler auftritt, oder das Verzeichnis /etc/authbind nicht zugänglich ist, dann nicht nur
werden wir binden schlägt fehl, aber eine Fehlermeldung wird auf stderr ausgegeben. Nicht erkannte Zeilen in
/etc/authbind/byuid/uid Dateien werden stillschweigend ignoriert, ebenso wie Zeilen, deren Adr hat ungleich Null
Bits mehr als Länge von oben oder wo einige Min. ist größer als max.
BEISPIEL
So zum Beispiel ein Versuch von UID 432, sich an Port 80 der Adresse zu binden
[2620:106:e002:f00f::21] würde zu einem Authbind-Aufruf führen Zugang(2) auf, in der Reihenfolge,
/etc/authbind/byport/80
/etc/authbind/byaddr/2620:106:e002:f00f::21,80
/etc/authbind/byaddr/2620:106:e002:f00f:0:0:0:21,80
Wenn keine dieser Dateien vorhanden ist, liest authbind
/etc/authbind/byuid/432
und suchen Sie nach einer Zeile, die den entsprechenden Zugriff ermöglicht; Beispiele für Zeilen, die dies tun würden
sind:
2620:106:e002:f00f::21,80
:: / 0,80
PORTS 512-1023
Es wird nicht empfohlen, die Bindung an Ports von 512 bis einschließlich 1023 zu autorisieren. Manche
Protokolle (einschließlich einiger Versionen von NFS) autorisieren Clients, indem sie sehen, dass sie sie verwenden
eine Portnummer in diesem Bereich. Indem man also ein Programm autorisiert, ein Server für einen solchen Port zu sein,
Sie autorisieren es außerdem, für diese Protokolle die Identität des gesamten Hosts anzunehmen.
Um sicherzustellen, dass dies nicht versehentlich passiert, ist die angeforderte Portnummer in der
Im Bereich 512–1023 erwartet Authbind, dass die Berechtigungsdateien über eine zusätzliche verfügen ! im
Beginn ihres Blattnamens.
MECHANISMUS
Die gemeinsam genutzte Bibliothek, die mit geladen wurde LD_PRELOAD überschreibt die binden(2) Systemaufruf. Wenn ein
Programm aufgerufen über authbinden Anrufe binden um einen Socket an einen TCP/IP-Port mit niedriger Nummer zu binden,
und wenn das Programm nicht bereits eine effektive UID von 0 hat, die Version von binden
angeblich von authbinden verzweigt sich und führt ein Setuid-Root-Hilfsprogramm aus. Für Nicht-TCP/IP
Sockets, hochnummerierte Ports oder Programme, die bereits Root sind, authbinden leitet den Anruf weiter
zum Original binden(2) Systemaufruf, der mit gefunden wird dlsym(3) mit dem Griff
RTLD_NEXT.
ERROR HANDHABUNG
Normalerweise gelten die normalen C-Fehlerbehandlungsmechanismen. Wenn authbinden kann das Programm nicht finden
Es wurde zur Ausführung aufgefordert, es gibt eine Nachricht an stderr aus und wird mit Code 255 beendet.
Das Hilfsprogramm meldet sich normalerweise mit einem Exit-Status an die gemeinsam genutzte Bibliothek zurück
mit einem Fehler Wert, der kodiert, ob der binden war erlaubt und erfolgreich.
Diese wird wie gewohnt an das aufrufende Programm zurückgegeben.
Bei offensichtlichen Konfigurationsfehlern oder anderen schwerwiegenden Fehlern kann die Bibliothek und/oder die
Das Hilfsprogramm kann dazu führen, dass Meldungen im stderr des Programms ausgegeben werden
Rückgabe von -1 von binden.
Verwenden Sie Authbind online über die Dienste von onworks.net