Other Alias
telnetdSINTASSI
/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 di
AUTENTICAZIONE .
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 cosa
telnetd
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 (vedere SO_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'opzione LINEMODE , quindi telnetd 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 inviando DONT SUPPRESS-GO-AHEAD e DONT ECHO . ) L'opzione -k è molto utile quando ci sono client remoti che non supportano il kludge linemode, ma passa l'euristica (se essi rispondono con WILL TIMING-MARK in risposta a DO 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 . Normalmente telnetd 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 per UNICOS. 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 che telnetd 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 ricompilare telnetd .
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, un WILL ECHO o WONT ECHO verrà inviato al client per indicare lo stato corrente del terminale che esegue l'eco. Quando un eco del terminale non è desiderato, un WILL 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, un WONT 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 un WILL TIMING-MARK
- "WILL LOGOUT"
- Quando è ricevuto un DO LOGOUT viene invieto in risposta un WILL 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 un WILL ECHO viene ricevuto, un DONT 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 con WONT LINEMODE. Se il client risponde con WILL 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)
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).