lxc-usernsexec(1) | lxc-usernsexec(1) |
lxc-usernsexec - 새로운 사용자 네임스페이스에서 root로 태스크를 실행
lxc-usernsexec
[-m uid-map] {-- command}
lxc-usernsexec는 새로운 사용자 네임스페이스에서 루트로 태스크를 실행한다.
맵은 1개 이상도 지정가능하다. 만약 맵이 지정되지 않았다면, 기본값은 /etc/subuid와 /etc/subgid에서 허용된 모든 범위의 uid, gid가 컨테이너 내에서 0번부터 매핑된다.
lxc-usernsexec는 언제나 0번 setuid와 setgid를 시도한 다는 것에 주의해야 한다. 그러므로 네임스페이스 내에서 uid 0은 매핑이 되어있어야 한다.
할당된 모든 subuid를 컨테이너에 매핑해서 쉘을 실행하려면,
lxc-usernsexec
를 사용하면 된다. /bin/sh대신 다른 쉘을 실행하려면,
lxc-usernsexec -- /bin/bash
를 사용하면 된다.
만약 현재 UID가 1000이고, 컨테이너의 root가 190000으로 매핑되어 있으며, 현재 사용자가 소유하고 있는 파일을 컨테이너의 root가 소유하도록 하려면, 아래처럼 하면 된다.
lxc-usernsexec -m b:0:1000:1 -m b:1:190000:1 -- /bin/chown 1:1 $file
이것은 현재 UID를 사용자 네임스페이스 내에서 root로 하고, 190000을 uid 1로 매핑한다. 사용자 네임스페이스의 root는 네임스페이스의 모든 UID에 권한이 있기 때문에, 호스트에서 chown을 사용할 수 없더라도 파일의 소유자를 변경할 수 있다.
lxc(7), lxc-create(1), lxc-copy(1), lxc-destroy(1), lxc-start(1), lxc-stop(1), lxc-execute(1), lxc-console(1), lxc-monitor(1), lxc-wait(1), lxc-cgroup(1), lxc-ls(1), lxc-info(1), lxc-freeze(1), lxc-unfreeze(1), lxc-attach(1), lxc.conf(5)
Serge Hallyn <serge.hallyn@ubuntu.com>
2023-11-30 |