rexecd(8) server di esecuzione remota

SINTASSI

rexecd

DESCRIZIONE

Rexecd è il server per la routine rexec(3). Il server fornisce servizi di esecuzione remota con autenticazione basata su nomi degli utenti e password.

Rexecd ascolta le richieste di servizio alla porta indicata nelle specifiche del servizio ``exec''; vedere services(5). Quando una richiesta di servizio è ricevuta è iniziato il seguente protocollo:

  1. Il server legge caratteri dal socket fino a un byte NUL (`\0' ) La stringa risultante è interpretata come un numero ASCII base 10.
  2. Se il numero ricevuto al passo 1 è non-zero, esso è interpretato come numero di porta di un flusso secondario da usare per stderr . Una seconda connessione è quindi creata sulla porta specificata sulla macchina client.
  3. Un nome utente che termina con NUL di almeno 16 caratteri è trovato sul socket iniziale
  4. Una password che termina con NUL, non cifrata, di almeno 16 caratteri, è trovata sul socket iniziale.
  5. Un comando che termina con NUL da passare a una shell è trovato sul socket iniziale. La lunghezza del comando è limitata dal limite superiore sulla dimensione dell'elenco degli argomenti di sistema.
  6. Rexecd quindi valida l'utente come fatto al momento del login e, se l'autenticazione ha successo, si sposta sulla home directory dell' utente, e stabilisce le protezioni di utente e gruppo dell'utente. Se uno di questi passi fallisce la connessione è abortita e viene restituito un messaggio di diagnostica.
  7. Viene restituito un byte NUL sul socket iniziale e la linea di comando è passata alla shell di login normale dell'utente. La shell eredita le connessioni della rete stabilite da rexecd .

DIAGNOSTICA

Tranne che per l'ultimo elencato in precedenza, tutti i messaggi di diagnostica sono restituiti sul socket inziale, dopo di che tutte le connessioni di rete sono chiuse. Un errore è indicato con un byte iniziale con un valore di 1 (lo 0 è restituito al passo 7 precedente in seguito al completamento con successo di tutti i passi precedenti all' esecuzione del comando).

username too long
Il nome è più lungo di 16 caratteri.
password too long
La password è più lunga di 16 caratteri.
command too long
La linea di comando passata supera la dimensione dell'elenco argomenti (come configurato nel sistema).
Login incorrect.
Non esiste alcun campo nel file delle password per il nome utente.
Password incorrect.
E' stata fornita una password errata.
remote directory.
Il comando chdir nella home directory è fallito.
Try again.
Un fork del server è fallito.
<shellname>: ...
La shell di login dell'utente non può essere avviata. Questo messaggio è restituito sulla connessione associata con stderr , e non è preceduto da un byte flag.

BUG

Indicare ``Login incorrect'' invece che ``Password incorrect'' è una falla di sicurezza che permette alle persone di cercare nel sistema utenti con password nulla.

Un servizio per permettere a tutti gli scambi di dati e password di essere cifrati deve essere presente.

STORIA

Il comando è apparso in BSD 4.2 .