기본 사용자가 아닌 사용자로 lxc-create

기본 사용자가 아닌 사용자로 lxc-create

"lxc-create -t ​​ubuntu"를 사용할 때 새 컨테이너의 사용자를 어떻게 지정합니까? 나는 기본 ubuntu:ubuntu를 원하지 않고 나만의 고유한 사용자 이름과 비밀번호를 지정하고 싶습니다.

우분투 14.04에서 lxc 1.0.0~beta3을 사용하고 있습니다.

답변1

사용자 생성은 템플릿 파일에서 이루어지므로 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

그런 다음 평소대로 컨테이너를 만듭니다.

답변2

일회성 사용을 위한 더 간단한 옵션은 사용자를 직접 생성하는 것입니다. 최신(적어도 방금 시도한 우분투) 템플릿은 더 이상 기본 우분투/우분투 사용자와 함께 제공되지 않습니다. 다음 메시지를 참조하세요.

방금 Ubuntu 컨테이너를 생성했습니다(릴리스=신뢰할 수 있는, 아치=amd64, 변형=기본값).

SSHD를 활성화하려면 다음을 실행하십시오: apt-get install openssh-server

보안상의 이유로 컨테이너 이미지는 사용자 계정과 루트 비밀번호 없이 제공됩니다.

루트 비밀번호를 설정하거나 사용자 계정을 생성하려면 lxc-attach 또는 chroot를 rootfs에 직접 사용하세요.

내가 생각하는 한 lxc-attach를 사용하는 것이 가장 빠르다. 다음과 같이 하라:

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

답변3

Ubuntu LXC 컨테이너를 설치하고 구성하는 템플릿/스크립트에 명령줄 옵션을 전달할 수 있습니다./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

관련 정보