TELNETD(8)

NOME
telnetd Protocollo - DARPA del server TELNET

SINTASSI
/usr/libexec/telnetd [-BUhlkns] [-D debugmode] [-Iinitid] [-S tos] [-X authtype] [-a authmode] [-edebug] [-rlowpty-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)

VEDERE ANCHE
telnet(1), login(1), bftp(1) (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).