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.