При использовании «lxc-create -t ubuntu», как указать пользователя нового контейнера? Я не хочу использовать ubuntu: ubuntu по умолчанию, а указать свое уникальное имя пользователя и пароль.
Я использую lxc 1.0.0 ~ beta3 в Ubuntu 14.04.
Создание пользователя выполняется в файле шаблона, поэтому вы должны изменить файл шаблона Ubuntu, то есть: lxc-ubuntu
. Шаблоны хранятся в /usr/local/share/lxc/templates
или /usr/lib/lxc/templates/
. Откройте его в вашем любимом редакторе и найдите следующие строки (они находятся в функции configure_ubuntu()
файла шаблона):
if [ -z "$bindhome" ]; then
chroot $rootfs useradd --create-home -s /bin/bash ubuntu
echo "ubuntu:ubutu" | chroot $rootfs chpasswd
fi
Замените ubuntu
своим собственным именем пользователя и паролем, т.е. эти строки будут:
if [ -z "$bindhome" ]; then
chroot $rootfs useradd --create-home -s /bin/bash USERNAME
echo "USERNAME:PASSWORD" | chroot $rootfs chpasswd
fi
Затем создайте свой контейнер, как обычно.
Опцией simpeler для одноразового использования будет создание пользователя самостоятельно. Более новые (по крайней мере, шаблоны ubuntu, которые я только что попробовал) даже больше не поставляются с пользователем ubuntu / ubuntu по умолчанию, смотрите это сообщение:
Вы только что создали контейнер Ubuntu (release = trusty, arch = amd64, вариант = по умолчанию)
Чтобы включить sshd, выполните: apt-get install openssh-server
По соображениям безопасности образы контейнеров поставляются без учетных записей пользователей и без пароля root. .
Используйте lxc-attach или chroot непосредственно в rootfs, чтобы установить пароль root или создать учетные записи пользователей.
Использование lxc-attach является самым быстрым, насколько я понимаю, просто сделайте это:
you@hostbox:/$ lxc-attach -n yourlxc
root@yourlxc:/# adduser username
Вы можете передать параметры командной строки в шаблон / скрипт, который устанавливает и настраивает Ubuntu LXC Container /usr/share/lxc/templates/lxc-ubuntu
lxc-create -t ubuntu -n <CONTAINER_NAME> -- --user <USER_NAME> --password <USER_PASSWORD>
Другие параметры:
./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