NOME¶
rexecd —
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:
- Il server legge caratteri dal socket fino a un byte NUL
(‘
\0
’). La stringa risultante è
interpretata come un numero ASCII base 10.
- 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.
- Un nome utente che termina con NUL di almeno 16 caratteri
è trovato sul socket iniziale
- Una password che termina con NUL, non cifrata, di almeno
16 caratteri, è trovata sul socket iniziale.
- 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.
- 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.
- 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.
- No 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.
VEDERE ANCHE¶
rexec(3)
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
rexecd è apparso in
4.2BSD.