如何修改非特权LXC容器的rootfs?

Epe*_*eli 4 container lxc

我已经使用此文档为非特权 LXC 容器配置了命名空间

https://help.ubuntu.com/lts/serverguide/lxc.html#lxc-unpriv

lxc-create我可以使用或不使用 sudo创建和启动容器lxc-start

但现在我想在启动之前修改容器,但我无法做到这一点,因为 rootfs 属于用户 100000:

vagrant@lxci-host:~$ ls -l $HOME/.local/share/lxc/u1/ total 8 -rw-rw-r-- 1 vagrant vagrant 616 Nov 22 12:38 config drwxr-xr-x 21 100000 100000 4096 Nov 22 12:38 rootfs

我该如何解决这个问题?

容器是使用这个创建的

lxc-create -t download -n u1 -- -d ubuntu -r trusty -a amd64
Run Code Online (Sandbox Code Playgroud)

Epe*_*eli 5

知道了。通过使用lxc-usernsexec命令来执行我的容器修改命令。

手册页引用:

NAME
       lxc-usernsexec - Run a task as root in a new user namespace.

SYNOPSIS
       lxc-usernsexec [-m uid-map] {-- command}

DESCRIPTION
       lxc-usernsexec can be used to run a task as root in a new user namespace.
Run Code Online (Sandbox Code Playgroud)

/etc/hosts自定义文件示例

lxc-usernsexec cp hosts $HOME/.local/share/lxc/u1/rootfs/etc/hosts
Run Code Online (Sandbox Code Playgroud)