Gui*_*ros 12 linux ubuntu amazon-ec2 amazon-web-services
我正在使用 CloudInit 在 AWS 上自动启动我的实例。我遵循了http://bazaar.launchpad.net/~cloud-init-dev/cloud-init/trunk/annotate/head%3A/doc/examples/cloud-config.txt上的(稀缺)文档和示例/usr/share/doc/cloud-init
,但是还没想好怎么改默认用户名(ubuntu, id:1000)。
我知道我可以创建一个脚本来手动删除默认的 ubuntu 并添加我的用户,但鉴于 CloudInit 完全存在以自动进行初始设置,这似乎违反直觉。
有任何想法吗?
据此,CloudInit 应该支持自定义指令来创建新用户,包括覆盖默认的“ubuntu”用户。我已经按照示例进行了尝试,但未能使其正常工作。
但是,由于 CloudInit 支持用户数据脚本,并且您几乎可以在脚本中执行任何操作,因此我更喜欢使用标准命令,而不是尝试学习一些新的自定义指令。
以下是我如何在用户数据脚本中更改默认用户名“ubuntu”。此示例使用新用户名“newuser”,您应该根据自己的喜好更改该用户名:
#!/bin/bash -ex
user=newuser
usermod -l $user ubuntu
groupmod -n $user ubuntu
usermod -d /home/$user -m $user
mv /etc/sudoers.d/90-cloudimg-ubuntu /etc/sudoers.d/90-cloudimg-$user
perl -pi -e "s/ubuntu/$user/g;" /etc/sudoers.d/90-cloudimg-$user
Run Code Online (Sandbox Code Playgroud)
您可以添加到此用户数据脚本以执行实例所需的任何其他初始化和配置。
更新:我写了一篇扩展文章,描述了使用用户数据脚本的步骤以及如何在最新版本的 Ubuntu 上使用 CloudInit 进行操作:http://alestic.com/2014/01/ec2-change-username
小智 5
你可以把它放在用户数据中:
#cloud-config
system_info:
default_user:
name: otherusername
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10134 次 |
最近记录: |