SVM 支持使用首次启动脚本来运行配置命令。建议使用 SVM 首次启动脚本执行下列任务:
network, dns, manageservices
(来重启网络服务)。klconfig
账户密码(配置密码)即可访问 SVM。setsshkey
命令为该目的而提供。不建议使用一长串命令,因为首次启动脚本的目的是执行最少的命令集。
使用标准输入流的命令,例如 passwd
,不应该被发送至首次启动脚本。这会导致无法启动 SVM。
若要把命令发送至首次启动脚本,您需要按以下格式指定命令:
KL_CMD1="<
命令 1
>" KL_CMD2="<
命令
2>" … KL_CMDn="<
命令
N>"
其中 <
命令
>
是命令的名称,带有参数(如有必要)。
例如,下列命令序列可让您配置使用静态 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%" ]