commandPath MFT 內容
使用 commandPath 內容來指定 Managed File Transfer 可以從中執行指令的位置。 在設定此內容時請特別小心,因為可以從遠端用戶端系統有效地呼叫其中一個指定的 commandPaths 中的任何指令,從而可以將指令傳送至代理程式。
您可以指定要在從 Managed File Transfer的受管理傳送及受管理呼叫功能執行代理程式的系統上執行的指令。 如需相關資訊,請參閱 程式呼叫巢狀元素 。 不過,指令必須位於 commandPath 代理程式內容所參照的路徑上。
如果指定的指令不完整, Managed File Transfer 會嘗試在指令路徑上尋找相符的指令。 如果指令路徑上存在多個相符的指令,則會使用第一個相符項。
依預設, commandPath 內容是空的,因此代理程式無法呼叫任何指令。
指定 commandPath 代理程式內容,如下所示:
commandPath=command_directory_name
separator...command_directory_name
或僅適用於 z/OS® ,請指定:commandPath=command_directory_name_or_data_set_name_prefix
separator...command_directory_name_or_data_set_name_prefix其中:
- command_directory_name 是可以執行指令的目錄路徑。
command_directory_name_or_data_set_name_prefix 是可以執行之指令的「 z/OS UNIX® 系統服務」目錄路徑,或以 // 開頭的資料集名稱字首。 您可以選擇使用完整或不完整的資料集名稱字首 (亦即,格式: //'HLQ...'或//HLQ...)。 以格式//'HLQ()...'或//HLQ()...指定分割的資料集。 僅使用資料集指定 JCL Script 指令。- separator 是平台專用的分隔字元。
例如,在 UNIX 系統上,如果您要執行位於目錄 /home/user/cmds1 及 /home/user/cmds2中的指令,請如下所示設定 commandPath 代理程式內容:
commandPath=/home/user/cmds1:/home/user/cmds2
例如,在 Windows 系統上,如果您要執行位於目錄 C:\File
Transfer\commands 及 C:\File Transfer\agent commands中的指令,請如下所示設定 commandPath 代理程式內容:
commandPath=C:\\File Transfer\\commands;C:\\File Transfer\\agent commands
在 Windows 系統上,分隔字元反斜線 (\) 必須跳出並輸入為雙反斜線 (\\)。 反斜線字元 (\) 也可以取代為正斜線 (/)。
例如,在 z/OS 上,如果您想要執行下列指令:- 在目錄 /home/user/cmds1 及 /home/user/cmds2 中
- 在以 //'USER.CMD1', //CMD2, 開頭的資料集中
- 是稱為 //'USER.CMDS' 的完整 PDS 的成員
commandPath=/home/user/cmds1:/home/user/cmds2://'USER.CMD1'://CMD2://'USER.CMDS()'
重要事項: 當您設定此內容時必須特別小心,因為可以從能夠將指令傳送至代理程式的遠端用戶端系統呼叫其中一個指定 commandPaths 中的任何指令。 因此,指定 commandPath 時,依預設會配置沙盤推演,以在傳送時自動拒絕存取所有 commandPath 目錄(及其子目錄):
- 如果代理程式是配置為使用代理程式沙盤推演,則當代理程式啟動時,commandPath 目錄會自動新增至被拒絕的目錄清單中。
- 如果代理程式是配置為使用一個以上的使用者沙盤推演,則當代理程式啟動時,會針對每一個使用者沙盤推演,將 commandPath 目錄作為
<exclude>元素新增至<read>及<write>元素。 - 如果代理程式未配置為使用代理程式沙盤推演或使用者沙盤推演,當代理程式啟動時,會建立新的代理程式沙盤推演,將 commandPath 目錄指定為被拒絕的目錄。
為了取得與下列版次的相容性,您可以置換此行為:
- IBM® WebSphere® MQ File Transfer Edition.
- IBM WebSphere MQ 7.5.0 Fix Pack 1Managed File Transfer 元件 (或更早版本)。
- 安裝上未設定安裝內容 enableFunctionalFixPack=7502 的 IBM WebSphere MQ 7.5.0 Fix Pack 2 Managed File Transfer 元件 (或更新版本)。
addCommandPathToSandbox=false當 addCommandPathToSandbox 內容存在並設為 false 時,會發生下列行為:
- 如果代理程式是配置為使用代理程式沙盤推演,但沙盤推演沒有指定任何容許的目錄,則當代理程式啟動時,commandPath 目錄會自動新增至被拒絕的目錄清單中。
- 如果代理程式是配置為使用代理程式沙盤推演,且沙盤推演已指定一個以上容許的目錄,則當代理程式啟動時,commandPath 目錄不會新增至被拒絕的目錄清單中。
- 如果代理程式是配置為使用一個以上的使用者沙盤推演,則使用者沙盤推演不變,且對於每一個使用者沙盤推演,不會將 commandPath 目錄作為
<exclude>元素新增至<read>及<write>元素。 - 如果代理程式未配置為使用代理程式沙盤推演或使用者沙盤推演,當代理程式啟動時,會建立新的代理程式沙盤推演,將 commandPath 目錄指定為被拒絕的目錄。