当前位置: 首页>>技术教程>>正文


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支持user-data脚本,并且您几乎可以在脚本中执行任何操作,因此我更喜欢使用标准命令,而不是尝试学习一些新的自定义指令。

这是我在user-data脚本中从”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

您可以添加到此user-data脚本以对实例执行其他所需的初始化和配置。

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11188.html,未经允许,请勿转载。