Scroll to navigation

rexec(3) Library Functions Manual rexec(3)

NUME

rexec, rexec_af - returnează fluxul către o comandă la distanță

BIBLIOTECA

Biblioteca C standard (libc, -lc)

REZUMAT

#include <netdb.h>
[[depreciat]]
int rexec(char **restrict ahost, int inport,
          const char *restrict user, const char *restrict passwd,
          const char *restrict cmd, int *restrict fd2p);
[[depreciat]]
int rexec_af(char **restrict ahost, int inport,
          const char *restrict user, const char *restrict passwd,
          const char *restrict cmd, int *restrict fd2p,
          sa_family_t af);

rexec(), rexec_af():


Începând cu glibc 2.19:
_DEFAULT_SOURCE
În glibc până la versiunea 2.19 inclusiv:
_BSD_SOURCE

DESCRIERE

Această interfață este înlocuită de rcmd(3).

Funcția rexec() caută gazda *ahost folosind gethostbyname(3), returnând -1 dacă gazda nu există. În caz contrar, *ahost este definită la numele standard al gazdei. Dacă sunt specificate atât un nume de utilizator, cât și o parolă, acestea sunt folosite pentru autentificarea la gazda externă; în caz contrar, se caută informațiile corespunzătoare în mediul și apoi în fișierul .netrc din directorul de origine al utilizatorului. Dacă toate acestea eșuează, utilizatorului i se solicită informațiile.

Portul inport specifică portul Internet DARPA bine cunoscut care trebuie utilizat pentru conexiune; apelul getservbyname("exec", "tcp") (a se vedea getservent(3)) va returna un indicator către o structură care conține portul necesar. Protocolul de conectare este descris în detaliu în rexecd(8).

În cazul în care conexiunea reușește, un soclu în domeniul Internet de tip SOCK_STREAM este returnat apelantului și transmis comenzii la distanță ca stdin și stdout. Dacă fd2p este diferit de zero, atunci se va configura un canal auxiliar către un proces de control, iar un descriptor de fișier pentru acesta va fi plasat în *fd2p. Procesul de control va returna ieșirea de diagnosticare de la comandă (unitatea 2) pe acest canal și va accepta, de asemenea, octeți de pe acest canal ca fiind numere de semnal UNIX, pentru a fi transmise grupului de procese al comenzii. Informațiile de diagnosticare returnate nu includ eșecul autorizării la distanță, deoarece conexiunea secundară este stabilită după ce a fost verificată autorizarea. Dacă fd2p este 0, atunci stderr (unitatea 2 a comenzii de la distanță) va fi făcută la fel ca stdout și nu este prevăzută trimiterea de semnale arbitrare către procesul de la distanță, deși este posibil să puteți atrage atenția acestuia prin utilizarea de date în afara benzii.

rexec_af()

Funcția rexec() funcționează pe IPv4 (AF_INET). În schimb, funcția rexec_af() oferă un argument suplimentar, af, care permite apelantului să selecteze protocolul. Acest argument poate fi specificat ca AF_INET, AF_INET6 sau AF_UNSPEC (pentru a permite implementării să selecteze protocolul).

VERSIUNI

Funcția rexec_af() a fost adăugată în glibc 2.2.

ATRIBUTE

Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

Interfață Atribut Valoare
rexec(), rexec_af() Siguranța firelor MT-Unsafe

STANDARDE

Aceste funcții nu se regăsesc în POSIX.1. Funcția rexec() a apărut pentru prima dată în 4.2BSD și este prezentă în BSD, Solaris și în multe alte sisteme. Funcția rexec_af() este mai recentă și mai puțin răspândită.

ERORI

Funcția rexec() trimite parola necriptată prin rețea.

Serviciul de bază este considerat o mare breșă de securitate și, prin urmare, nu este activat pe multe situri; a se vedea rexecd(8) pentru explicații.

CONSULTAȚI ȘI

rcmd(3), rexecd(8)

TRADUCERE

Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

15 decembrie 2022 Pagini de manual de Linux 6.03