NOME¶
rlogind
—
server di login remoto
SINTASSI¶
rlogind
[
-aln
]
DESCRIZIONE¶
Rlogind
è il server per il programma
rlogin(1). Il server fornisce un servizio di
login remoto con autenticazione basata su numeri di porta privilegiati da host
di fiducia.
Opzioni supportate da
rlogind
:
-a
- Chiede la verifica del nome host.
-l
- Impedisce l'autenticazione basata sul file degli utenti
“.rhosts” a meno che
l'utente acceda come superutente.
-n
- Disabilita i messaggi keep-alive.
Rlogind
ascolta le richieste di servizi alla
porta indicata nella specifica del servizio ``login''; vedere
services(5). Quando viene ricevuta una richiesta
di servizio viene iniziato il seguente protocollo:
- Il server verifica la porta sorgente del client. Se la porta non è
nel campo 512-1023, il server abortisce la connessione.
- Il server verifica l'indirizzo sorgente del client e richiede il
corrispondente nome host (vedere
gethostbyaddr(3),
hosts(5) e
named(8)). Il nome host non può essere
determinato, è usata la rappresentazione della notazione a punto
dell'indirizzo dell'host. Se il nome dell'host è nello stesso
dominio del server (in accordo alle ultime due componenti del nome di
dominio), o se viene data l'opzione
-a
,
è richiesto l'indirizzo del nome host, verificando che nome e
indirizzo corrispondano. L'autenticazione normale è byassata se la
verifica dell' indirizzo fallisce.
Quando porta sorgente e indirizzo sono stati verificati,
rlogind
procede con il processo di
autenticazione descritto in
rshd(8). Esso quindi
alloca uno pseudo terminale (vedere
pty(4)), e
manipola i descrittori file in modo che la metà slave degli
pseudoterminali diventa
stdin,
stdout, e
stderr per
un processo di login. Il processo di login è un'istanza del programma
login(1) invocato con l'opzione
-f
se l'autenticazione ha avuto successo.
Se l'autenticazione automatica fallisce, all'utente è richiesto di
effettuare il log in come su una linea di terminale standard.
Il genitore del processo di login manipola il lato principale dello
pseudoterminale, operando come intermediario tra il processo di login e
l'istanza del client del programma
rlogin. In
operazioni normali, il protocollo del pacchetto descritto in
pty(4) è invocato per fornire servizi di
tipo ‘
^S/^Q
’ e propagare i segnali di
interrupt ai programmi remoti. Il processo di login propaga il baud rate del
terminale del client e il tipo di terminale, come trovato nella variabile
d'ambiente
‘
TERM
’;
vedere
environ(7). La dimensione dello schermo o
della finestra terminale è richiesta dal client, e le dimensioni della
finestra del client sono propagate allo pseudo terminale.
I messaggi keepalive a livello trasporto sono abilitati a meno che non sia
presente l'opzione
-n
. L'uso dei messaggi
keepalive permette alle sessioni di scadere se il client va in crash o diviene
non raggiungibile.
DIAGNOSTICA¶
tutti i messaggi iniziali di diagnostica sono indicati da un byte iniziale con
un valore di 1, dopo il quale tutte le connessioni di rete vengono chiuse. Se
non ci sono errori prima che il
login sia
invocato, è restituito un byte null come indicazione di successo.
- Try again.
- Un fork del server è fallito.
VEDERE ANCHE¶
login(1),
ruserok(3),
rshd(8)
BUG¶
La procedura di autenticazione usata qui presume l'integrità di ciascuna
macchina client e del mezzo di connessione. Questo non è sicuro, ma
è utile in un ambiente ``open''.
Deve essere presente un servizio che permetta la cifratura di tutti gli scambi
di dati.
Dovrebbe essere usato un protocollo più estendibile.
STORIA¶
Il comando
rlogind
è apparso nella
4.2BSD.