Quero provisionar uma máquina virtual Linux via cloud init. Gostaria de preparar o diretório home do usuário, de modo que um conjunto inicial de ferramentas esteja disponível. Idealmente, ele .profile
conterá extensões para o ambiente PATH, bem como alguns aliases bash convenientes em .bash_aliases
.
Até agora tentei executar este user-data
script para cloud-init
#cloud-config
users:
- default
- name: user
groups: adm, audio, cdrom, dialout, floppy, video, plugdev, dip, libvirtd, sudo
# passwd is 'user'.
# generate passwd via `openssl passwd -6 -salt your_unique_salt`
# --------------------------------
# DO NOT USE IN PRODUCTION SYSTEMS
# --------------------------------
passwd: $6$your_unique_salt$cI00puVwNOLtx8.mV2A8ye/cS9WxpFpC78U7A8NP5Z/ih8/i00dmGD0HlO4ni21iojOhzIm0Lcot/vxyx0wSk0
lock_passwd: false
sudo: ALL=(ALL) NOPASSWD:ALL
shell: /bin/bash
hostname: tools-dev
manage_etc_hosts: localhost
ssh_pwauth: true
package_upgrade: true
package_update: true
packages:
- curl
write_files:
- path: /home/user/.profile
permissions: '0755'
defer: true
append: true
content: |
export PATH=$HOME/.local/sometool/bin:$PATH
- path: /home/user/.bash_aliases
permissions: '0755'
defer: true
content: |
alias ll='ls -al'
- path: /etc/network/interfaces.d/additional.link
permissions: '0644'
content: |
auto ens3
iface ens3 inet dhcp
hostname cynthion-dev
.bash_alias
foi escrito, mas está vazio. .profile
não contém nenhuma alteração. Eu passei por algumas iterações com a configuração do explicit owner
para o gerado user
, mas também sem sucesso.
Quais opções tenho para modificar arquivos no diretório HOME do usuário?