.\" -*- coding: UTF-8 -*- '\" t .\" $NetBSD: rcmd.3,v 1.9 1996/05/28 02:07:39 mrg Exp $ .\" .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\" @(#)rcmd.3 8.1 (Berkeley) 6/4/93 .\" .\" Contributed as Linux man page by David A. Holland, 970908 .\" I have not checked whether the Linux situation is exactly the same. .\" .\" 2007-12-08, mtk, Converted from mdoc to man macros .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH rcmd 3 "23 iulie 2024" "Pagini de manual de Linux 6.12" .SH NUME rcmd, rresvport, iruserok, ruserok, rcmd_af, rresvport_af, iruserok_af, ruserok_af \- rutine pentru returnarea unui flux către o comandă la distanță .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP/* Sau pe unele sisteme */ .P \fBint rcmd(char **restrict \fP\fIahost\fP\fB, unsigned short \fP\fIinport\fP\fB,\fP \fB const char *restrict \fP\fIlocuser\fP\fB,\fP \fB const char *restrict \fP\fIremuser\fP\fB,\fP \fB const char *restrict \fP\fIcmd\fP\fB, int *restrict \fP\fIfd2p\fP\fB);\fP .P \fBint rresvport(int *\fP\fIport\fP\fB);\fP .P \fBint iruserok(uint32_t \fP\fIraddr\fP\fB, int \fP\fIsuperuser\fP\fB,\fP \fB const char *\fP\fIruser\fP\fB, const char *\fP\fIluser\fP\fB);\fP \fBint ruserok(const char *\fP\fIrhost\fP\fB, int \fP\fIsuperuser\fP\fB,\fP \fB const char *\fP\fIruser\fP\fB, const char *\fP\fIluser\fP\fB);\fP .P \fBint rcmd_af(char **restrict \fP\fIahost\fP\fB, unsigned short \fP\fIinport\fP\fB,\fP \fB const char *restrict \fP\fIlocuser\fP\fB,\fP \fB const char *restrict \fP\fIremuser\fP\fB,\fP \fB const char *restrict \fP\fIcmd\fP\fB, int *restrict \fP\fIfd2p\fP\fB,\fP \fB sa_family_t \fP\fIaf\fP\fB);\fP .P \fBint rresvport_af(int *\fP\fIport\fP\fB, sa_family_t \fP\fIaf\fP\fB);\fP .P \fBint iruserok_af(const void *restrict \fP\fIraddr\fP\fB, int \fP\fIsuperuser\fP\fB,\fP \fB const char *restrict \fP\fIruser\fP\fB, const char *restrict \fP\fIluser\fP\fB,\fP \fB sa_family_t \fP\fIaf\fP\fB);\fP \fBint ruserok_af(const char *\fP\fIrhost\fP\fB, int \fP\fIsuperuser\fP\fB,\fP \fB const char *\fP\fIruser\fP\fB, const char *\fP\fIluser\fP\fB,\fP \fB sa_family_t \fP\fIaf\fP\fB);\fP .fi .P .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .ad l .P \fBrcmd\fP(), \fBrcmd_af\fP(), \fBrresvport\fP(), \fBrresvport_af\fP(), \fBiruserok\fP(), \fBiruserok_af\fP(), \fBruserok\fP(), \fBruserok_af\fP(): .nf Începând cu glibc 2.19: _DEFAULT_SOURCE glibc 2.19 și versiunile anterioare: _BSD_SOURCE .fi .ad .SH DESCRIERE Funcția \fBrcmd\fP() este utilizată de superutilizator pentru a executa o comandă pe o mașină la distanță utilizând o schemă de autentificare bazată pe numere de porturi privilegiate. Funcția \fBrresvport\fP() returnează un descriptor de fișier către un soclu cu o adresă în spațiul porturilor privilegiate. Funcțiile \fBiruserok\fP() și \fBruserok\fP() sunt utilizate de servere pentru a autentifica clienții care solicită servicii cu \fBrcmd\fP(). Toate cele patru funcții sunt utilizate de serverul \fBrshd\fP(8) (printre altele). .SS rcmd() Funcția \fBrcmd\fP() caută gazda \fI*ahost\fP folosind \fBgethostbyname\fP(3), returnând \-1 dacă gazda nu există. În caz contrar, \fI*ahost\fP este definit la numele standard al gazdei și se stabilește o conexiune la un server care se află la portul Internet bine cunoscut \fIinport\fP. .P Dacă conexiunea reușește, se returnează apelantului un soclu în domeniul internet de tip \fBSOCK_STREAM\fP, care este transmis comenzii la distanță sub forma \fIstdin\fP și \fIstdout\fP. Dacă \fIfd2p\fP este diferit de zero, se va stabili un canal auxiliar către un proces de control și un descriptor de fișier pentru acesta va fi plasat în \fI*fd2p\fP. Procesul de control va returna ieșirea de diagnosticare de la comandă (unitatea 2) pe acest canal și va accepta, de asemenea, octeți pe acest canal ca fiind numere de semnal UNIX, pentru a fi transmise grupului de procese al comenzii. Dacă \fIfd2p\fP este 0, atunci \fIstderr\fP (unitatea 2 a comenzii de la distanță) va fi la fel ca \fIstdout\fP și nu se prevede trimiterea de semnale arbitrare către procesul de la distanță, deși este posibil să îi atrageți atenția folosind date în afara benzii. .P Protocolul este descris în detaliu în \fBrshd\fP(8). .SS rresvport() .\" Funcția \fBrresvport\fP() este utilizată pentru a obține un soclu cu un port privilegiat asociat acestuia. Acest soclu este potrivit pentru a fi utilizat de \fBrcmd\fP() și de alte câteva funcții. Porturile privilegiate sunt cele din intervalul 0\-1023. Numai un proces privilegiat (pe Linux, un proces care are capacitatea \fBCAP_NET_BIND_SERVICE\fP în spațiul de nume al utilizatorului care guvernează spațiul de nume al rețelei sale) este autorizat să se conecteze la un port privilegiat. În implementarea glibc, această funcție își limitează căutarea la porturile de la 512 la 1023. Argumentul \fIport\fP este valoare\-rezultat: valoarea pe care o furnizează apelului este utilizată ca punct de plecare pentru o căutare circulară a intervalului de porturi; la returnarea (cu succes), acesta conține numărul portului la care a fost asociat. .SS "iruserok() și ruserok()" Funcțiile \fBiruserok\fP() și \fBruserok\fP() iau adresa IP sau numele unei gazde la distanță, respectiv două nume de utilizator și un indicator care arată dacă numele utilizatorului local este cel al superutilizatorului. Apoi, dacă utilizatorul \fInu\fP este superutilizatorul, se verifică fișierul \fI/etc/hosts.equiv\fP. Dacă această căutare nu este efectuată sau nu are succes, se verifică \fI.rhosts\fP din directorul local al utilizatorului pentru a vedea dacă cererea de serviciu este permisă. .P Dacă acest fișier nu există, nu este un fișier obișnuit, este deținut de oricine altcineva decât utilizatorul sau superutilizatorul, poate fi scris de oricine altcineva decât proprietarul sau este legat printr\-o legătură dură oriunde, verificarea eșuează automat. Se returnează zero dacă numele mașinii este listat în fișierul \fIhosts.equiv\fP sau dacă gazda și numele de utilizator la distanță sunt găsite în fișierul \fI.rhosts\fP; în caz contrar, \fBiruserok\fP() și \fBruserok\fP() returnează \-1. În cazul în care domeniul local (obținut de la \fBgethostname\fP(2)) este același cu domeniul la distanță, trebuie specificat doar numele mașinii. .P În cazul în care adresa IP a gazdei la distanță este cunoscută, \fBiruserok\fP() ar trebui să fie utilizat de preferință față de \fBruserok\fP(), deoarece nu necesită încredere în serverul DNS pentru domeniul gazdei la distanță. .SS "*_af() variante" Toate funcțiile descrise mai sus funcționează cu socluri IPv4 (\fBAF_INET\fP). Variantele „_af” iau un argument suplimentar care permite specificarea familiei de adrese a soclului. Pentru aceste funcții, argumentul \fIaf\fP poate fi specificat ca \fBAF_INET\fP sau \fBAF_INET6\fP. În plus, \fBrcmd_af\fP() acceptă utilizarea \fBAF_UNSPEC\fP. .SH "VALOAREA RETURNATĂ" Funcția \fBrcmd\fP() returnează un descriptor de soclu valid în caz de succes. Returnează \-1 în caz de eroare și imprimă un mesaj de diagnostic la ieșirea de eroare standard. .P Funcția \fBrresvport\fP() returnează un descriptor de soclu valid și legat în caz de succes. În caz de eșec, aceasta returnează \-1 și configurează \fIerrno\fP pentru a indica eroarea. Codul de eroare \fBEAGAIN\fP este supraîncărcat pentru a semnifica: „Toate porturile de rețea sunt utilizate”. .P Pentru informații privind returnarea de la \fBruserok\fP() și \fBiruserok\fP(), a se vedea mai sus. .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfață Atribut Valoare T{ .na .nh \fBrcmd\fP(), \fBrcmd_af\fP() T} Siguranța firelor MT\-Unsafe T{ .na .nh \fBrresvport\fP(), \fBrresvport_af\fP() T} Siguranța firelor MT\-Safe T{ .na .nh \fBiruserok\fP(), \fBruserok\fP(), \fBiruserok_af\fP(), \fBruserok_af\fP() T} Siguranța firelor MT\-Safe locale .TE .SH STANDARDE BSD. .SH ISTORIC .TP \fBiruserok_af\fP() .TQ \fBrcmd_af\fP() .TQ \fBrresvport_af\fP() .TQ \fBruserok_af\fP() glibc 2.2. .P Solaris, 4.2BSD. Variantele „_af” sunt adăugate mai recent și nu sunt prezente pe o gamă atât de largă de sisteme. .SH ERORI .\" Bug filed 25 Nov 2007: .\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=5399 \fBiruserok\fP() și \fBiruserok_af\fP() sunt declarate în antetele glibc doar de la glibc 2.12. .SH "CONSULTAȚI ȘI" \fBrlogin\fP(1), \fBrsh\fP(1), \fBrexec\fP(3), \fBrexecd\fP(8), \fBrlogind\fP(8), \fBrshd\fP(8) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .