所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

FusionCloud 6.3.1 用户指南 (Region Type I) 10

评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
制作文件注入脚本

制作文件注入脚本

对于启动源是“本地磁盘”的Linux云服务器,使用文件注入功能,可以简化云服务器配置、初始化系统等。如果您要使用文件注入功能,请参考本章节。

背景信息

文件注入是在创建弹性云服务器时,将脚本注入设置的文件系统路径下,有一定的安全隐患。当您有如下需求时,可以选择使用文件注入功能。通过用户数据注入可以实现的,建议优先使用数据注入功能。

  • 需要通过脚本简化云服务器配置
  • 通过脚本初始化系统
  • 已有脚本,在创建云服务器的时候一并上传到服务器
  • 其他可以使用脚本完成的事情

限制与约束

表15-27 文件注入使用限制

限制项

描述

操作系统

Linux操作系统支持,Windows不支持。

虚拟化类型

KVM。

启动方式

创建云服务器所选规格的“启动源”为“本地磁盘”,即云服务器为镜像启动。

配置项

登录DMK,确认“is_supported_ecs_kvm_inject_file”与“is_supported_inject_file”的配置值均为“true”。如果配置为“false”,参考在DMK上修改配置项进行修改。

插件

推荐通过Cloud-Init(Linux)注入文件,否则可能会出现文件的实际注入路径与指定路径不同,或导致云服务器创建失败等不可知情况。本章节的所有描述针对镜像中已安装Cloud-Init的情况。

说明:

申请弹性云服务器时,如果界面上支持配置弹性云服务器的登录方式为“密码”或“密钥”,则您选择的镜像中带有Cloud-Init。

具有注入文件运行权限的用户

root用户。

注入文件路径

自定义的路径只能包含字母、数字、下划线和点。实际的注入路径为:第一个分区的挂载目录 + 用户自定义的路径。例如,自定义路径为“/etc/foo.txt”:

  • 第一个分区挂载在“/”目录下,则实际注入路径为“/etc/foo.txt”。
  • 第一个分区挂载在“ /boot”目录下,则实际注入路径为“ /boot/etc/foo.txt”。

支持的文件类型

ext3、ext4。

注入脚本的默认权限

读写。

说明:

若要修改默认权限,以root用户登录云服务器后,进入注入文件目录后执行如下命令:

chmod 755 注入文件名

将文件权限修改为文件所有者可读可写可执行,与文件所有者同属一个用户组的其他用户可读可执行,其它用户组可读可执行 。

注入文件执行方式

手动执行及自动执行。自动执行要求注入文件的存放目录为“/etc/init.d”且已修改了注入文件权限。

文件大小

小于等于1KB。

使用方法

  1. 根据实际需要写脚本,脚本符合操作系统要求即可。
  2. 创建云服务器时,选择脚本并填写脚本保存路径。
  3. 系统创建云服务器,自动注入脚本。
  4. (Linux必选)修改脚本的默认权限。
  5. 执行脚本。

使用场景1

该样例介绍如何通过文件注入,设置vim的“语法高亮显示”、“制表符占用4个空格”和“显示行数”属性。

注入文件示例:

syntax on
set tabstop=4
set number

使用场景2

该样例介绍如何通过注入文件方式,在系统开机时自动初始化防火墙配置。

当您希望每次开机时自动初始化防火墙配置,可以编写防火墙配置脚本,并将其注入到“/etc/init.d”目录。假设脚本名称为“initial.sh”。

脚本示例:

#! /bin/sh
iptables -A INPUT -p tcp --dport 21 -j ACCEPT 
iptables -A INPUT -p tcp --dport 49152:65534 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

如果虚拟机是Linux操作系统,默认情况下注入脚本是读写权限,因此在您第一次使用云服务器时,需要以root用户登录云服务器,修改脚本的默认权限。

以CentOS 6.5、文件名为“initial.sh”、runlevel为3为例进行说明。

cd /etc/init.d

chmod 775 initial.sh

ln -s /etc/init.d/initial.sh /etc/rc.d/rc3.d/S98initial

说明:
  • 上述命令中的/etc/rc.d/rc3.d是runlevel为3时的脚本存放目录。当runlevel取值为其他时,相应的目录也需要修改,例如/etc/rc.d/rc2.d。
  • S98initial中S表示“系统启动时运行”,98为脚本的启动顺序,也就是该脚本第98个启动,可以根据需要调整。系统会按照启动顺序从小到大的依次执行脚本。

执行上述命令后,云服务器每次开机时,会自动启动initial.sh,完成防火墙配置文件初始化。

翻译
下载文档
更新时间:2019-08-15

文档编号:EDOC1100043090

浏览量:18704

下载量:563

平均得分:
本文档适用于这些产品
相关文档
相关版本
Share
上一页 下一页