?? rfc1408.txt
字號:
組織:中國互動出版網(http://www.china-pub.com/)
RFC文檔中文翻譯計劃(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
譯者:郭大剛(guodagang guodagang@tyut.edu.cn)
譯文發布時間:2001-11-24
版權:本中文翻譯文檔版權歸中國互動出版網所有。可以用于非商業用途自由轉載,但必須
保留本文檔的翻譯及版權信息。
Network Working Group D. Borman,Editor
Request for Comments: 1408 Cray Research,Inc.
January 1993
Telnet環境變量
(RFC1408——Telnet Environment Option)
本備忘錄的狀態
本文檔講述了一種Internet社區的Internet標準跟蹤協議,它需要進一步進行討論和建
議以得到改進。請參考最新版的“Internet架構委員會正式協議標準”來獲得本協議的標準
化程度和狀態。本備忘錄的發布不受任何限制。
摘要
這個文檔定義了一種在TELNET客戶端和服務器端傳輸環境變量的機制。采用這種機
制,使得在連接時TELNET用戶把配置信息傳給遠程主機成為可能。
目錄
1. 命令名和代碼 1
2. 命令含義 2
3. 缺省規范 3
4. 動機 3
5. 周知變量 3
6. 應用規則 3
7. 涉及的安全問題 4
8. 參考文獻 5
1. 命令名和代碼
ENVIRON36
IS0
SEND 1
INFO 2
VAR 0
VALUE1
ESC 2
USERVAR 3
2. 命令含義
IAC WILL ENVIRON
這個命令的發送者將發送環境變量。
IAC WONT ENVIRON
這個命令的發送者拒絕發送環境變量。
IAC DO ENVIRON
這個命令的發送者將接收環境變量。
IAC DONT ENVIRON
這個命令的發送者拒絕接收環境變量。
IAC SB ENVIRON SEND [ type ... [ type ... [ ... ] ] ] IAC SE
這個命令的發送者請求遠端發送它的環境變量。“type”既可以是VAR,也可以是
USERVAR,既用來指定周知變量名又用于指定用戶變量名。只有DO ENVIRON端可以發
起一個SEND命令。如果指定了一個變量列表,那么只能發送這些變量。如果沒有指定列
表,那么就應該發送對所有的周知變量和用戶自定義變量都是缺省的環境變量。如果有一個
變量沒有命名,那么應該發送在缺省環境中的所有類型的變量(周知或者用戶自定義的)。
IAC SB ENVIRON IS type ... [ VALUE ... ] [ type ... [ VALUE ... ] [
這個命令的發送者正在發送環境變量。發送這個命令來響應某個SEND請求。只有處
于WILL ENVIRON狀態的一端可以發送一個IS命令。“type”/VALUE對必須按照和SEND
請求指定的順序相同的次序來返回,而且必須對每一個明確的“type ...”請求都得響應。
“type”會是VAR或者USERVAR。可能發送多重環境變量。在一個“type”后一直到下
一個“type”或VALUE的特征指定了變量名稱。The characters following a 在一個VALUE
后一直到下一個“type”的特征指定了變量的數值。如果一個“type”后面沒有跟一個
VALUE(例如,跟著其他的VAR、USERVAR或者IAC SE),那么對這個變量就沒有定義。
如果 VALUE后面緊跟著一個“type”或者IAC,那么這個變量已經定義了,但是沒有數值。
如果某個IAC包含在IS和IAC SE中,那么它必須當作IAC IA來發送。如果某個變量或者
數值包含了一個VAR,那么它必須當作ESC VAR來發送。
如果某個變量或者數值包含了一個USERVAR,那么它必須當作ESC USERVAR來發
送。如果一個變量或者數值包含了一個VALUE,那么它必須當作ESC VALUE來發送。如
果某個變量或者數值包含了一個ESC,那么它必須當作ESC ESC來發送。
IAC SB ENVIRON INFO type ... [ VALUE ... ] [ type ... [ VALUE ... ] [
這個命令的發送者正在發送有關已經變化了的環境變量的信息。除了在命令中以INFO
替代了IS以外,和IS命令相同。只有處于WILL ENVIRON狀態的一端可以發送一個INFO
命令。INFO命令不會用于發送初始化信息;SEND/IS序列正是用在這種情況下。INFO命
令用于廣播環境變量的變化,而且可以很自然的就產生了。
3. 缺省規范
這個選項的缺省規范是
WONT ENVIRON
DONT ENVIRON
意思是沒有任何環境信息的交換。
4. 動機
一些操作系統具有包含著當Telnet連接建立時廣播給遠端機器的信息的啟動信息和環
境變量。提出一些新的需要通過一個Telnet會話來廣播的信息比每次創建一個新的Telnet
選項更可取,但是Telnet會話自身并不真正需要知道,就可以采用這種普通的信息選項了。
5. 周知變量
USER 這個變量用于傳送客戶端想要登錄的遠程系統上的用戶或者帳戶名。USER變
量的數值格式由系統決定,由遠程系統確定。
JOB 這個變量用于傳送當登錄進入遠程系統時客戶端想要使用的業務ID號。JOB
變量的數值格式由系統決定,由遠程系統確定。
ACCT 這個變量用于傳送當登錄進入遠程系統時客戶端想要使用的帳戶ID號。ACCT
變量的數值格式由系統決定,由遠程系統確定。
PRINTER 這個變量用于確定打印機輸出的缺省位置。因為現在在網絡上沒有一種標
準的命名方法,所以目前這個變量的格式不明確。
SYSTEMTYPE 這個是用于傳輸這個變量所用的操作系統的類型。它的數值和FTP[2]
中的SYSTEM(SYST)的取值相同。這個值的格式應該和在Assigned Numbers文檔[3]的當
前版本中列出的一個系統名稱的第一個詞一樣。
DISPLAY 這個變量用于傳輸客戶端的X顯示位置。DISPLAY變量的數值格式如下:
<host>:<dispnum>[.<screennum>]
這個消息和通過利用Telnet X-DISPLAY-LOCATION選項得到的信息是相同。如果
DISPLAY環境變量收到的X-DISPLAY-LOCATION選項[4]以及它們包含的不一致信息,應
該使用最近收到的信息。
因為不可能預計到所有用戶想要交換的變量,提供了USERVAR類型來支持用戶傳輸
任意的變量/數值對。采用附加類型使得應用可以區分由遠端主機軟件得到的數值和由用戶
提供的數值。偏執些的實現很可能用同級的不信任度對待這兩種類型。周知變量和用戶變量
之間命名空間沖突的結果是規范應用。
6. 應用規則
WILL和DO僅僅用在連接開始時捕獲和承認將來協商的結果。
一旦兩個主機已經交換了一個WILL命令和DO命令,DO ENVIRON的發送者就可以
自由的請求發送環境變量。一旦DO的發送者可以發送請求(IAC SB ENVIRON SEND IAC
SE),那么WILL的發送者就可以傳輸現行的環境變量信息(通過IAC SB ENVIRON IS ... IAC
SE命令)。雖然有時這個選項在整個TELNET連接的過程中都可以使用,但是環境信息交
換還是常常出現在連接啟動時。這是因為許多操作系統只具有在過程創建時才傳輸環境信息
的機制,所以在用戶登錄前這些信息是必須的。在這一節中,任何引用的事情都是以速記方
式對ASCII數值字符串的進行記錄的。例如,“joe”意思是三個八位十進制序列106 111 101。
接收主機不需要把它從環境中接收到的所有的變量都上傳。例如,如果客戶機將要通過
發送USERVAR “TERM” VALUE “xterm”這個環境變量來發送時,TERMINAL-TYPE
[1]選項已經用于確定終端類型,服務器就可以忽略TERM變量。同樣,一些啟動信息也可
以用于其他方面;例如,“USER”、“ACCT”和“PROJ”變量的數值可以用來判斷哪一個
帳戶已經登錄,而且可能從未被上傳給用戶環境。通常,如果服務器通過一些更精確的方法
已經檢測到某個環境變量的數值,或者如果它不能理解某個變量名稱,它將忽略在
ENVIRON選項中發送的數值。服務器可能也更喜歡僅僅把所有未知信息上傳到用戶的環境
中。這是應用中建議的方法,因為它使用戶使用起來更加靈活。
以下是一個這個選項的使用范例:
Host1 Host2
IAC DO ENVIRON
IAC WILL ENVIRON
[現在主機1可以自由的請求環境變量了]
IAC SB ENVIRON SEND VAR "USER"
VAR "ACCT" VAR USERVAR IAC SE
[現在,服務器明確請求得到USER和ACCT變量、周知環境變量的缺省設置和用戶
自定義變量的缺省設置。注意:客戶端兩次引用了USER信息;一次是因為它明確請求的,
另一次是因為它是缺省環境的一部分。]
IAC SB ENVIRON IS VAR "USER"
VALUE "joe" VAR "ACCT" VALUE
"kernel" VAR "USER" VALUE "joe"
VAR "DISPLAY" VALUE "foo:0.0"
USERVAR "SHELL" VALUE "/bin/csh"
IAC SE
當現在定義了用戶變量或者不明確的變量時,對于響應空環境(在IAC SB和IAC SE中
都沒有數據)的客戶端,那是合法的。例如:
IAC SB ENVIRON IS IAC SE
對下列任何都是有效響應:
IAC SB ENVIRON SEND IAC SE
IAC SB ENVIRON SEND VAR IAC SE
IAC SB ENVIRON SEND USERVAR IAC SE
IAC SB ENVIRON SEND VAR USERVAR IAC SE
(最后的范例和第一個相同...)
預計,支持Telnet ENVIRON選項的任何應用都將完全支持這個規范。
7. 涉及的安全問題
對ENVIRON 選項的實施者重要的是理解設置選項的交互性和邏輯/證明過程。應該非
常仔細的分析哪個變量在設置客戶登錄時是“安全的”。一個錯誤選項的例子將會改一個參
數,允許入侵者廢止或損害登錄/證明程序本身。
8. 參考文獻
[1] VanBokkelen,J.,"Telnet Terminal-Type Option",RFC 1091,FTP Software,Inc.,
February 1989.
[2] Postel,J. and J. Reynolds,"File Transfer Protocol (FTP)",STD 9,RFC 959,
USC/Information Sciences Institute,October 1985.
[3] Reynolds,J. and J. Postel,"Assigned Numbers",STD 2,RFC 1340,
USC/Information Sciences Institute,July 1992.
[4] Marcy,G.,"Telnet X Display Location Option",RFC 1096,Carnegie Mellon
University,March 1989.
需要考慮的安全問題
在第七節中已經討論了有關安全的問題。
作者的地址
David A. Borman,Editor
Cray Research,Inc.
655F Lone Oak Drive
Eagan,MN 55123
Phone: (612) 452-6650
EMail: dab@CRAY.COM
Mailing List: telnet-ietf@CRAY.COM
主席的地址
通過現在的主席可以聯系到這個工作組:
Steve Alexander
INTERACTIVE Systems Corporation
1901 North Naper Boulevard
Naperville,IL 60563-8895
Phone: (708) 505-9100 x256
EMail: stevea@isc.com
RFC1408——Telnet Environment Option Telnet環境變量
1
RFC文檔中文翻譯計劃
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -