SVM 支援使用首次啟動指令碼來執行配置指令。建議使用 SVM 首次啟動指令碼執行下列工作:
network、dns、manageservices
(來重新啟動網路服務)。klconfig
帳戶密碼的情況下存取 SVM(組態密碼)。Setsshkey
指令即為此目的而提供。不建議使用一長串指令,因為首次啟動指令碼的目的是執行最少的指令集。
使用標準輸入流的指令,例如 passwd
就不應被傳送至首次啟動指令碼。這會導致無法啟動 SVM。
若要把指令傳送至首次啟動指令碼,您需要以下列格式指定指令:
KL_CMD1="<
command 1
>" KL_CMD2="<
command
2>" … KL_CMDn="<
command
N>"
其中 <
command
>
是指令名稱,帶有參數(如有必要)。
例如,下列指令序列可讓您配置使用靜態 IP 位址時的 SVM 網路設定:
KL_CMD1="network eth0 10.65.78.35 255.255.255.0 10.65.78.255 10.65.78.1" KL_CMD2="manageservices restart network"
當執行首次啟動指令碼時,指令將依傳送至首次啟動指令碼的順序進行編號和執行。
指令碼執行後,在資料夾 /var/log/kaspersky/la/ 中將會建立包含指令碼執行結果且名為 boot_config.log 的檔案。
您可以在建立首次啟動指令碼時使用下列特殊指令:
RESET
– 刪除 boot_config_done 檔案(首次啟動指令碼已經執行的標記)。因此下次啟動 SVM 時,也將執行傳送至首次啟動指令碼的所有指令。ALWAYS
– 即使 SVM 首次啟動指令碼已經執行也遵照此指令執行指令(存在 boot_config_done 檔案)。REPORT
– 將指令執行結果資訊寫入檔案。範例:
KL_CMD1="ALWAYS" KL_CMD2="network eth0 10.65.78.35 255.255.255.0 10.65.78.255 10.65.78.1"
用來將指令傳送至首次啟動指令碼的機制,視 Hypervisor 類型會有所不同:
KL_CMD1="…" KL_CMD2="…"
vmware-cmd setguestinfo
指令必須以下列格式指定首次啟動指令:
guestinfo.klfirstboot.cmd1
guestinfo.klfirstboot.cmd2
KL_CMD1="…" KL_CMD2="…"
KL_CMD0=%command1%
KL_CMD1=%command2%
root
帳戶下執行指令:
POST /api/0/vm/%vm_id%/execute
在要求主體中:
command_with_args=[ "bash", "-c", "%command%" ]