lxc-create com usuário não padrão

lxc-create com usuário não padrão

Ao usar "lxc-create -t ​​ubuntu" como especificar o usuário do novo contêiner? Eu não quero o padrão ubuntu:ubuntu, mas especificar meu próprio nome de usuário e senha exclusivos.

Estou usando o lxc 1.0.0 ~ beta3 no Ubuntu 14.04.

Responder1

A criação do usuário é feita no arquivo de modelo, então você deve alterar o arquivo de modelo do Ubuntu, ou seja: lxc-ubuntu. Os modelos são armazenados em /usr/local/share/lxc/templatesou /usr/lib/lxc/templates/. Abra-o com seu editor favorito e encontre as seguintes linhas (elas funcionam em configure_ubuntu()função do arquivo de modelo):

if [ -z "$bindhome" ]; then
    chroot $rootfs useradd --create-home -s /bin/bash ubuntu
    echo "ubuntu:ubutu" | chroot $rootfs chpasswd
fi

Substitua ubuntupelo seu próprio nome de usuário e senha, ou seja, esta linha será:

if [ -z "$bindhome" ]; then
    chroot $rootfs useradd --create-home -s /bin/bash USERNAME
    echo "USERNAME:PASSWORD" | chroot $rootfs chpasswd
fi

Em seguida, crie seu contêiner normalmente.

Responder2

Uma opção mais simples para uso único seria criar você mesmo o usuário. Os modelos mais recentes (pelo menos o ubuntu que acabei de experimentar) nem vêm mais com o usuário padrão do ubuntu/ubuntu, veja esta mensagem:

Você acabou de criar um contêiner Ubuntu (release=trusty, arch=amd64, variante=default)

Para habilitar o sshd, execute: apt-get install openssh-server

Por motivos de segurança, as imagens de contêiner são enviadas sem contas de usuário e sem senha de root.

Use lxc-attach ou chroot diretamente no rootfs para definir uma senha root ou criar contas de usuário.

Usar lxc-attach é o mais rápido, no que me diz respeito, basta fazer o seguinte:

you@hostbox:/$ lxc-attach -n yourlxc
root@yourlxc:/# adduser username

Responder3

Você pode passar opções do Comandline para o Template/Script, que está instalando e configurando o Ubuntu LXC Container/usr/share/lxc/templates/lxc-ubuntu

lxc-create -t ubuntu -n <CONTAINER_NAME> -- --user <USER_NAME> --password <USER_PASSWORD>

Outras opções são:

./lxc-ubuntu -h|--help [-a|--arch] [-b|--bindhome <user>] [-d|--debug]
   [-F | --flush-cache] [-r|--release <release>] [ -S | --auth-key <keyfile>]
   [--rootfs <rootfs>] [--packages <packages>] [-u|--user <user>] [--password <password>]
   [--mirror <url>] [--security-mirror <url>]
release: the ubuntu release (e.g. precise): defaults to host release on ubuntu, otherwise uses latest LTS
bindhome: bind <user>'s home into the container
          The ubuntu user will not be created, and <user> will have
          sudo access.
arch: the container architecture (e.g. amd64): defaults to host arch
auth-key: SSH Public key file to inject into container
packages: list of packages to add comma separated
mirror,security-mirror: mirror for download and /etc/apt/sources.list

informação relacionada