Cuando se usa "lxc-create -t ubuntu", ¿cómo se especifica el usuario del nuevo contenedor? No quiero el ubuntu:ubuntu predeterminado, sino especificar mi propio nombre de usuario y contraseña únicos.
Estoy usando lxc 1.0.0~beta3 en ubuntu 14.04.
Respuesta1
La creación de usuarios se realiza en el archivo de plantilla, por lo que debe cambiar el archivo de plantilla de Ubuntu, es decir: lxc-ubuntu
. Las plantillas se almacenan en /usr/local/share/lxc/templates
o /usr/lib/lxc/templates/
. Ábrelo con tu editor favorito y busca las siguientes líneas (están en configure_ubuntu()
función del archivo de plantilla):
if [ -z "$bindhome" ]; then
chroot $rootfs useradd --create-home -s /bin/bash ubuntu
echo "ubuntu:ubutu" | chroot $rootfs chpasswd
fi
Reemplace ubuntu
con su propio nombre de usuario y contraseña, es decir, estas líneas serán:
if [ -z "$bindhome" ]; then
chroot $rootfs useradd --create-home -s /bin/bash USERNAME
echo "USERNAME:PASSWORD" | chroot $rootfs chpasswd
fi
Luego crea tu contenedor como de costumbre.
Respuesta2
Una opción más sencilla para un uso único sería crear el usuario usted mismo. Las plantillas más nuevas (al menos las de ubuntu que acabo de probar) ya ni siquiera vienen con el usuario predeterminado de ubuntu/ubuntu, vea este mensaje:
Acabas de crear un contenedor de Ubuntu (versión=trusty, arch=amd64, variante=default)
Para habilitar sshd, ejecute: apt-get install openssh-server
Por motivos de seguridad, las imágenes de contenedores se envían sin cuentas de usuario y sin contraseña de root.
Utilice lxc-attach o chroot directamente en rootfs para establecer una contraseña de root o crear cuentas de usuario.
Usar lxc-attach es el más rápido hasta donde yo sé, solo haz esto:
you@hostbox:/$ lxc-attach -n yourlxc
root@yourlxc:/# adduser username
Respuesta3
Puede pasar las opciones de Comandline a la Plantilla/Script, que está instalando y configurando el contenedor LXC de Ubuntu./usr/share/lxc/templates/lxc-ubuntu
lxc-create -t ubuntu -n <CONTAINER_NAME> -- --user <USER_NAME> --password <USER_PASSWORD>
Otras opciones son:
./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