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

SYNOPSIS

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

説明

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

オプション

-m uid-map
ユーザ名前空間内で使うための 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 を使えない場合でも、あなたはファイルのオーナーを変更する事が可能です。

作者

Serge Hallyn <[email protected]>