DOKK / manpages / debian 12 / lxc / lxc-usernsexec.1.ja
lxc-usernsexec(1) lxc-usernsexec(1)

lxc-usernsexec - 新しいユーザ名前空間内で root としてタスクを実行する


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

説明

lxc-usernsexec は、新しいユーザ名前空間内で root としてタスクを実行するのに使います。

オプション

ユーザ名前空間内で使うための uid のマッピング。マッピングは、コロンで分けられた 4 つの値から構成されます。 最初の文字は 'u', 'g', 'b' のどれかで、マッピングが UID, GID, UID と GID の両方のうちのどれに関するものなのかを指定します。 次はユーザ名前空間内の最初の ID を指定します。その次はホスト上での最初の ID を指定します。最後はマッピングされる ID の数を指定します。

複数回のマッピングを指定することも可能です。もしマッピングを指定しない場合、デフォルトでは /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