2017-01-13 13 views
1

LXD를 처음 접하고 루트에 쓸 때 내 컨테이너의 루트 사용자에 대해 subuid 및 subgid 맵을 작성하려고 할 때 문제가 발생합니다./megalith 디렉토리의 경우, uid/gid가 165536 : 65536이 아닌 호스트 사용자 (1000 : 1000)의 UID/GID가됩니다.루트에 대한 subuid 및 subgid 정보가 변경된 경우 LXD 컨테이너를 시작할 수 없습니다.

http://insights.ubuntu.com/2016/12/08/mounting-your-home-directory-in-lxd/

을하지만 컨테이너를 시작하려고하면, 나는 오류가 아래 나타납니다 : 여기 나와있는 지침을 따르려고 노력하고 있습니다. 만약 root subuid와 subgid 엔트리를 다시 root : 165536 : 65536으로 되 돌리면, 모든 것이 제대로 작동하기 시작합니다. 단,/megalith에 쓸 때, UID와 GID는 분명히 165536 : 65536입니다.

설명서에 없거나 누락 된 루트 서브 uid와 하위 gid 매핑이 제대로 작동하도록하기 위해 필요한 다른 것이 있습니까?

[email protected] /megalith $ id 
uid=1000(cliff) gid=1000(cliff) groups=1000(cliff),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),130(sambashare),132(lxd) 

[email protected] /megalith $ cat /etc/subuid 
cliff:100000:65536 
lxd:165536:65536 
root:1000:1 

[email protected] /megalith $ cat /etc/subgid 
cliff:100000:65536 
lxd:165536:65536 
root:1000:1 

[email protected] /megalith $ lxc init ubuntu-daily:z zestytest 
Creating zestytest 

[email protected] /megalith $ lxc config set zestytest raw.idmap 'both 1000 1000' 

[email protected] /megalith $ lxc config device add zestytest megalith disk source=/megalith path=/megalith 
Device megalith added to zestytest 

[email protected] /megalith $ lxc start zestytest 
error: Error calling 'lxd forkstart zestytest /var/lib/lxd/containers /var/log/lxd/zestytest/lxc.conf': err='exit status 1' 
    lxc 20170112215311.265 ERROR lxc_start - start.c:lxc_spawn:1163 - Failed to set up id mapping. 
    lxc 20170112215311.303 ERROR lxc_start - start.c:__lxc_start:1338 - Failed to spawn container "zestytest". 
    lxc 20170112215311.855 ERROR lxc_conf - conf.c:run_buffer:347 - Script exited with status 1 
    lxc 20170112215311.855 ERROR lxc_start - start.c:lxc_fini:546 - Failed to run lxc.hook.post-stop for container "zestytest". 
    lxc 20170112215311.858 ERROR lxc_conf - conf.c:userns_exec_1:4374 - Error setting up child mappings 
    lxc 20170112215311.858 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1274 - Error destroying /sys/fs/cgroup/systemd//lxc/zestytest 
    lxc 20170112215311.861 ERROR lxc_conf - conf.c:userns_exec_1:4374 - Error setting up child mappings 
    lxc 20170112215311.861 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1274 - Error destroying /sys/fs/cgroup/cpuset//lxc/zestytest 
    lxc 20170112215311.864 ERROR lxc_conf - conf.c:userns_exec_1:4374 - Error setting up child mappings 
    lxc 20170112215311.864 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1274 - Error destroying /sys/fs/cgroup/hugetlb//lxc/zestytest 
    lxc 20170112215311.867 ERROR lxc_conf - conf.c:userns_exec_1:4374 - Error setting up child mappings 
    lxc 20170112215311.867 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1274 - Error destroying /sys/fs/cgroup/cpu//lxc/zestytest 
    lxc 20170112215311.869 ERROR lxc_conf - conf.c:userns_exec_1:4374 - Error setting up child mappings 
    lxc 20170112215311.869 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1274 - Error destroying /sys/fs/cgroup/pids//lxc/zestytest 
    lxc 20170112215311.872 ERROR lxc_conf - conf.c:userns_exec_1:4374 - Error setting up child mappings 
    lxc 20170112215311.872 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1274 - Error destroying /sys/fs/cgroup/perf_event//lxc/zestytest 
    lxc 20170112215311.875 ERROR lxc_conf - conf.c:userns_exec_1:4374 - Error setting up child mappings 
    lxc 20170112215311.875 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1274 - Error destroying /sys/fs/cgroup/freezer//lxc/zestytest 
    lxc 20170112215311.878 ERROR lxc_conf - conf.c:userns_exec_1:4374 - Error setting up child mappings 
    lxc 20170112215311.878 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1274 - Error destroying /sys/fs/cgroup/memory//lxc/zestytest 
    lxc 20170112215311.881 ERROR lxc_conf - conf.c:userns_exec_1:4374 - Error setting up child mappings 
    lxc 20170112215311.881 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1274 - Error destroying /sys/fs/cgroup/net_cls//lxc/zestytest 
    lxc 20170112215311.884 ERROR lxc_conf - conf.c:userns_exec_1:4374 - Error setting up child mappings 
    lxc 20170112215311.884 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1274 - Error destroying /sys/fs/cgroup/devices//lxc/zestytest 
    lxc 20170112215311.886 ERROR lxc_conf - conf.c:userns_exec_1:4374 - Error setting up child mappings 
    lxc 20170112215311.886 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1274 - Error destroying /sys/fs/cgroup/blkio//lxc/zestytest 

Try `lxc info --show-log zestytest` for more info 

답변

0

내가 루트로 다시 루트 subuid 및 subgid 항목을 반환하는 경우 : 165,536 : 65536

당신이 필요로하는 모두 165,536 : 65536 및 1000 : 1의 범위.

이전에는 컨테이너 내부에서 사용되는 대량의 uid/gid를 보유하고 있으며 나중에 uid/gid를 컨테이너 내부에서 동일하게 유지하도록 매핑합니다. 이 귀하의 질문에 주소를 경우

+0

도움 주셔서 감사합니다. 의견을 제시 한 후에도 문제가 계속 표시됩니다. 여기 내/등/subuid 및/etc/subgid는 지금 : '절벽 @의 reventon ~ $ 고양이의/etc/subuid 절벽 : 100000 : 65536 LXD : 165536 : 65536 루트 : 165536 : 65536 루트 : 1000 : 100000 : 65536 LXD : 165536 : 65536 루트 : 16553 : 65536 루트 : 1000 : 1 ' 내가 사용 LXD를 다시 시작'sudo는 서비스 LXD의 restart' 1 절벽 @의 reventon ~ $ 고양이의/etc/ 절벽 subgid , 그것은 작동하는 것처럼 보였다. bindmounted 디렉토리/megalith에서 파일을 다시 만졌을 때 나는 1000 : 1000 대신에 여전히 UID : GID 165536 : 16553을 얻었습니다. –

0

아주 확실하지 : https://github.com/lxc/lxc/issues/1622

스레드의 요점은 컨테이너 루트 UID 및/또는 GID에 호스트 UID 및/또는 호스트 GID를 매핑하는 비 sensical/안전하지 않은 것입니다 . 설명하는 것을 수행하려면 기본 컨테이너 사용자에 매핑하거나 새 컨테이너 사용자를 만들고 해당 컨테이너 사용자와 함께 명령을 실행해야합니다. 그런 다음 호스트 uid/gid를 컨테이너 uid/gid에 매핑 할 수 있습니다.