linux – 如何通过AWS上的CloudInit更改默认用户(ubuntu)

我正在使用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完全存在以自动化初始设置.

有任何想法吗?

解决方法

根据 this,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

您可以添加用户数据脚本以执行实例所需的任何其他初始化和配置.

更新:我写了一篇扩展的文章,描述了在最新版本的Ubuntu上使用用户数据脚本以及如何使用CloudInit的步骤:http://alestic.com/2014/01/ec2-change-username

相关文章

文件查找(find) 1 find 简单的说,就是实时查找指定的内容或条件。特点:最新、最快、最准确。 用法:...
非交互式添加分区 方法一 添加/deb/sdb 下的分区,其实位置为1到1000M,第二个分区位置为1001至3000M,...
编译安装httpd 1 去官网下载源码包 为避免非法软件,一定要去官网下载http://www.apache.org httpd-2.4...
gdisk用法 gdisk - InteractiveGUIDpartitiontable (GPT) manipulator GPTfdisk (akagdisk) isatext-mo...
1 一定用快捷键 这里简单的说下几个常用的快捷按键。 1.1 移动光标快捷键 Crtl + a 光标回到命令行...
bash shell中测试命令 test命令提供了if-than语句中测试不同条件的途径。如果test命令中列出的条件成立...