lxc-usernsexec(1) | lxc-usernsexec(1) |
lxc-usernsexec - 新しいユーザ名前空間内で root としてタスクを実行する
lxc-usernsexec
[-m uid-map] {-- command}
lxc-usernsexec は、新しいユーザ名前空間内で root としてタスクを実行するのに使います。
複数回のマッピングを指定することも可能です。もしマッピングを指定しない場合、デフォルトでは /etc/subuid, /etc/subgid で許可された全ての範囲の UID, GID が、コンテナ内の 0 から始まる UID, GID にマッピングされます。
lxc-usernsexec は、常に名前空間内の 0 に setuid, setgid しようとしますので、名前空間内の UID 0 は必ずマッピングしなければいけないことに注意してください。
割り当てられた subuid の全てをコンテナ内にマッピングしてシェルを起動するには、
lxc-usernsexec
のようにしてください。/bin/sh とは違うシェルを起動する場合、
lxc-usernsexec -- /bin/bash
のようにしてください。
あなたの UID が 1000 で、コンテナ内の root を 190000 にマッピングする場合で、あなたの所有するファイルをコンテナ内の root に chown したい場合は、以下のように実行します。
lxc-usernsexec -m b:0:1000:1 -m b:1:190000:1 -- /bin/chown 1:1 $file
これはあなたの UID をユーザ名前空間の root に、190000 を uid 1 にマッピングしています。 ユーザ名前空間内の root は、名前空間内の全ての ID に対して特権があるため、ホスト上で単純に 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 |