table of contents
TELNETD(8) | System Manager's Manual | TELNETD(8) |
NOME¶
telnetd
Protocollo —
DARPA del server TELNET
SINTASSI¶
/usr/libexec/telnetd
[-BUhlkns
] [-D
debugmode]
[-I
initid]
[-S
tos]
[-X
authtype]
[-a
authmode]
[-edebug
]
[-r
lowpty-highpty]
[-u
len]
[-debug
[port]]
DESCRIZIONE¶
Il comando telnetd
è un server che
supporta il protocollo standard DARPA del terminale virtuale TELNET.
Telnetd
è normalmente invocato dal server
internet (vedere inetd(8)) per richieste di connessione
alla porta TELNET come indicato dal file
/etc/services (vedere
services(5)). L'opzione -debug
può essere usata per avviare telnetd
manualmente invece che attraverso inetd(8). Se avviato in
questo modo, la porta può essere specificata
per far funzionare telnetd
su un numero di porta TCP
alternativo.
Il comando telnetd
accetta le seguenti
opzioni:
-a
authmode- Questa opzione può essere usata per specificare quale modo deve
essere usato per l'autenticazione. Notare che questa opzione è
utile solo se
telnetd
è stato compilato con il supporto per l'opzione diAUTENTICAZIONE
. Ci sono molti valori validi per authmode:- debug
- Attiva il codice di debugging dell'autenticazione.
- user
- Permette le connessioni solo quando l'utente remoto può fornire informazioni di autenticazione valide per identificare l'utente remoto, e gli è concesso l'accesso all'account specificato senza fornire una password.
- valid
- Permette le connessioni solo quando l'utente remoto può fornire informazioni di autenticazione valide per identificare l'utente remoto. Il comando login(1) fornirà ogni verifica aggiuntiva necessaria se all'utente remoto non è concesso l'accesso automatico all'account specificato.
- other
- Permette solo connessioni che forniscono qualche informazione di
autenticazione. Questa opzione attualmente non è supportata da
alcun meccanismo di autenticazione esistente, ed è quindi come
specificarne
-una
valida
. - none
- Questo è lo stato di default. Non sono richieste informazioni di autenticazione. Se nessuna o insufficienti informazioni di autenticazione è fornita, allora il programma login(1) fornirà le necessarie verifiche dell'utente.
- off
- Quest disabilita il codice di autenticazione. Tutte le verifiche utente avverranno attraverso il programma login(1).
-B
- Specifica mil modo server bftp. In questa modalità,
telnetd
fa avviare al login una sessione bftp(1) invece della normale shell utente. Nella modalità demone bftp i normali login non sono supportati, e devono essere usati su una porta diversa dalla normale porta TELNET. -D
debugmode- Questa opzione può essere usata per scopi di debugging. Questo
permette a
telnetd
di stampare le infromazioni di debugging alla connessione, permettendo all'utente di vedere cosatelnetd
sta facendo. Ci sono numerosi valori possibili per debugmode:options
- Stampa informazioni sulla negoziazione delle opzioni TELNET.
report
- Stampa l'informazione delle
opzioni
più alcune informazioni addizionali su quale processo sta funzionando. netdata
- Visualizza il flusso di dati ricevuto da
telnetd.
ptydata
- Visualizza i dati scritti sulla pty.
exercise
- Non è stato ancora implementato.
-debug
- Abilita il debugging su ciascun socket creato da
telnetd
(vedereSO_DEBUG
in socket(2)). -edebug
- Se
telnetd
è stato compilato con il supporto per la crittografia dei dati, allora l' opzione-edebug
può essere usata per abilitare il codice di debugging della cifratura. -h
- Disabilita la stampa di informazioni specifiche dell'host prima che il login sia stato completato.
-I
initid- Questa opzione è applicabile solo ai sistemi UNICOS precedenti al
7.0. Essa specifica l'
ID
da /etc/inittab da usare quando init avvia le sessioni di login. L'ID
di default èfe.
-k
- Questa opzione è utile solo se
telnetd
è stato compilato con entrambi i supporti linemode e kludge linemode. Se è specificata l'opzione-k
allora il client remoto non suporta l'opzioneLINEMODE
, quinditelnetd
opererà nella modalità a un carattere per volta. Esso supporterà ancora il kludge linemode, ma andrà in kludge linemode solo se il client remoto lo richiede. (Questo è fatto dal client inviandoDONT SUPPRESS-GO-AHEAD
eDONT ECHO
.) L'opzione-k
è molto utile quando ci sono client remoti che non supportano il kludge linemode, ma passa l'euristica (se essi rispondono conWILL TIMING-MARK
in risposta aDO TIMING-MARK)
per il supporto kludge linemode. -l
- Specifica la modalità linea. Tenta di forzare i client a usare la
modalità una-linea-per-volta. Se l'opzione
LINEMODE
non è supportata, esso si porterà nel kludge linemode. -n
- Disabilita i keep-alive
TCP
. Normalmentetelnetd
abilita il meccanismo TCP keep-alive per provare connessioni che sono state inattive per un certo periodo di tempo per determinare se il client è ancora lì, in modo che le connessioni inattive di macchine andate in crash o che non possono più essere raggiunte possano essere cancellate. -r
lowpty-highpty- Questa opzione è abilitata solo quando
telnetd
è compilato perUNICOS.
Essa specifica un insieme inclusivo di dispositivi pseudo-terminale da usare. Se il sistema ha configurato la variabile sysconf_SC_CRAY_NPTY
il range di ricerca di default delle pty è da 0 a_SC_CRAY_NPTY;
altrimenti il range di default è da 0 a 128. Uno tra lowpty o highpty può essere omesso per permettere il cambiamento di uno dei due estremi del range di ricerca. Se lowpty è omesso il - carattere è sempre necessario in modo chetelnetd
possa differenziare highpty da lowpty. -s
- Questa opzione è abilitata solo se
telnetd
p compilato con il supporto per le schede SecurID. Essa fa sì che l'opzione-s
sia passata a login(1), e quindi sia utile solo se login(1) supporta l'opzione-s
per indicare che solo i login validati da SecurID sono permessi, ed è normalmente utile per controllare i login remoti dall'esterno di un firewall. -S
tos-u
len- Questa opzione è usata per specificare la dimensione del campo
nella struttura
utmp
che contiene il nome dell'host remoto. Se il nome risolto dell'host è più lungo di len, sarà invece usato il valore decimale. Questo permette agli host con nomi molto lunghi fuoriescono da questo campo di essere ancora identificati univocamente. Specificare-u0
indica che solo gli indirizzi decimali devono essere messi nel file utmp. -U
- Questa opzione fa sì che
telnetd
rifiuti connessioni da indirizzi che non possono essere mappati di nuovo in un nome simbolico attraverso la routine gethostbyaddr(3). -X
authtype- Questa opzione è valida solo se
telnetd
è stato costruito con il supporto per l'opzione di autenticazione. Esso disabilita l'uso dell'autenticazione authtype e può essere usato per disabilitare temporaneamente uno specifico tipo di autenticazione senza dover ricompilaretelnetd
.
Telnetd
opera allocando un dispositivo
pseudo-terminale (vedere pty(4)) per un client, quindi
creando un processo di login che ha il lato slave dello pseudo-terminale
come stdin
, stdout
e
stderr
. Telnetd
manipola il
lato master dello pseudo-terminale, implementando il protocollo TELNET e
passando caratteri tra il client remoto e il processo di login.
Quando una sessione TELNET è avviata,
telnetd
invia opzioni TELNET al lato client side
indicando una volontà di eseguire le seguenti opzioni following
TELNET che sono descritte in maggior dettaglio sotto:
DO AUTHENTICATION WILL ENCRYPT DO TERMINAL TYPE DO TSPEED DO XDISPLOC DO NEW-ENVIRON DO ENVIRON WILL SUPPRESS GO AHEAD DO ECHO DO LINEMODE DO NAWS WILL STATUS DO LFLOW DO TIMING-MARK
Lo pseudo-terminale allocato al client è configurato per
operare in modalità “cooked” e con
XTABS e
CRMOD
abilitati
(vedere tty(4)).
Telnetd
ha il supporto per abilitare
localmente le seguenti opzioni TELNET:
- WILL ECHO
- Quando l'opzione
LINEMODE
è abilitata, unWILL ECHO
oWONT ECHO
verrà inviato al client per indicare lo stato corrente del terminale che esegue l'eco. Quando un eco del terminale non è desiderato, unWILL ECHO
è inviato per indicare che telnetd si occuperà di fare l'eco di tutti i dati che hanno bisogno di essere ripetuti al terminale, e quindi non viene fatto alcun eco. Quando l'eco del terminale è desiderato, unWONT ECHO
è inviato a indicare che telnetd non farà alcun eco del terminale, così che il client possa fare tutti gli eco del terminale necessari. - WILL BINARY
- Indica che il client vuole inviare 8 bit di dati, invece dei normali 7 bit del Network Virtual Terminal.
- WILL SGA
- Indica che non invierà comandi
IAC GA,
go ahead. - WILL STATUS
- Indica la volontà di inviare al client, dietro richiesta, lo stato corrente di tutte le opzioni TELNET.
- WILL TIMING-MARK
- qualora venga ricevuto un comando
DO TIMING-MARK
risponde sempre con unWILL TIMING-MARK
- WILL LOGOUT
- Quando è ricevuto un
DO LOGOUT
viene invieto in risposta unWILL LOGOUT
e la sessione TELNET è chiusa. - WILL ENCRYPT
- Inviata solo se
telnetd
è compilato con il supporto per la crittografia dei dati, e indica la volontà di decifrare il flusso dei dati.
Telnetd
ha il supporto per abilitare da
remoto le seguenti opzioni TELNET:
- DO BINARY
- Inviato per indicare che telnetd vuole ricevere un flusso di dati a 8 bit.
- DO LFLOW
- Richiede che il client gestisca remotamente il controllo del flusso caratteri.
- DO ECHO
- Questo non è realmente supportato, ma è inviato per
identificare un client telnet(1) 4.2BSD, che
risponderà impropriamente con
WILL ECHO.
Se unWILL ECHO
viene ricevuto, unDONT ECHO
verrà inviato in risposta. - DO TERMINAL-TYPE
- Indica un desiderio di poter richiedere il nome del tipo di terminale che è collegato al lato client della connessione.
- DO SGA
- Indica che non ha bisogno di ricevere
IAC GA,
il comando go ahead. - DO NAWS
- richiede che il client informi il server quando cambia la dimensione della finestra (display).
- DO TERMINAL-SPEED
- Indica un desiderio di poter richiedere infirmazioni sulla velocità della linea seriale a cui il client è collegato.
- DO XDISPLOC
- Indica un desiderio di poter richiedere il nome del display X windows associato con il client telnet.
- DO NEW-ENVIRON
- Indica un desiderio di poter richiedere informazioni sulle variabili d'ambiente, come descritto in RFC 1572.
- DO ENVIRON
- Indica un desiderio di poter richiedere informazioni sulle variabili d'ambiente, come descritto in RFC 1408.
- DO LINEMODE
- Inviato solo se
telnetd
è compilato con il supporto per il linemode, e richiede che il client faccia un processamento linea per linea. - DO TIMING-MARK
- Inviato solo se
telnetd
è compilato con il supporto sia per linemode che per kludge linemode, e il client ha risposto conWONT LINEMODE.
Se il client risponde conWILL TM,
allora si suppone che il client supporti kludge linemode. Notare che l'opzione [-k
] può essere usata per disabilitare questo. - DO AUTHENTICATION
- Inviato solo se
telnetd
è compilato con il supporto per l'autenticazione, e indica una volontà di ricevere informazioni di autenticazione per il login automatico. - DO ENCRYPT
- Inviato solo se
telnetd
è compilato con il supporto per la cifratura dei dati, e indica la volontà di decifrare il flusso dei dati.
AMBIENTE¶
FILE¶
/etc/services
/etc/inittab (solo sistemi UNICOS)
/etc/iptos (se supportato)
/usr/ucb/bftp (se supportato)
VEDERE ANCHE¶
STANDARD¶
RFC-854
- TELNET SPECIFICHE DEL PROTOCOLLO
RFC-855
- SPECIFICHE DELLE OPZIONI TELNET
RFC-856
- TRASMISSIONE BINARIA TELNET
RFC-857
- OPZIONE TELNET ECHO
RFC-858
- OPZIONE TELNET SOPPRESSIONE GO AHEAD
RFC-859
- OPZIONE STATO TELNET
RFC-860
- OPZIONE TELNET MARCATURA TEMPORALE
RFC-861
- OPZIONI TELNET ESTESE - ELENCO OPZIONI
RFC-885
- OPZIONE TELNET FINE DEL RECORD
RFC-1073
- Opzione Telnet dimensione finestra
RFC-1079
- Opzione Telnet velocità del terminale
RFC-1091
- Opzione Telnet tipo di terminale
RFC-1096
- Opzione Telnet locazione display X
RFC-1123
- Requisiti degli host Internet -- applicazione e supporto
RFC-1184
- Opzione Telnet Linemode
RFC-1372
- Opzione Telnet controllo remoto del flusso
RFC-1416
- Opzione autenticazione Telnet
RFC-1411
- Autenticazione Telnet: Kerberos Versione 4
RFC-1412
- Autenticazione Telnet: SPX
RFC-1571
- Opzione ambiente Telnet problemi di interoperabilità
RFC-1572
- Opzione ambiente Telnet
BUG¶
Alcuni comandi TELNET sono implementati solo parzialmente.
A causa dei bug nell'originale telnet(1) BSD
4.2, telnetd
esegue alcuni scambi di protocollo
dubbi per provare a scoprire se il client remoto è, in effetti, un
telnet(1). 4.2 BSD
La modalità binaria non ha interpretazioni comuni tranne tra sistemi operativi simili (Unix in questo caso).
Il nome del tipo di terminale ricevuto dal client remoto è convertito in minuscole.
Telnetd
non invia mai comandi TELNET
IAC GA
(go ahead).
1 giugno 1994 | BSD 4.2 |