%EB%A5%BC%20%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
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)을 변경하는 방법을 아직 찾지 못했습니다.
기본 우분투를 수동으로 삭제하고 사용자를 추가하는 스크립트를 만들 수 있다는 것을 알고 있지만 CloudInit가 초기 설정을 자동화하기 위해 정확하게 존재한다는 점을 고려하면 직관적이지 않은 것 같습니다.
어떤 아이디어가 있나요?
답변1
에 따르면이것, 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-사용자 이름
답변2
이것을 userdata에 넣을 수 있습니다:
#cloud-config
system_info:
default_user:
name: otherusername