2017-01-31 11 views
1

1001のgidを持つshareが所有するディレクトリがディスク上にあります。私はそのディレクトリをlxcコンテナの1つにあるデバイスとして追加し、そのグループを持ち越したいと思っています。LXD/LXC gidマッピング

私はraw.idmap 'gid 1001 1001'を使用しようとしましたが、これを追加するとlxcコンテナが起動しません。あなたはその行で言っている何

おかげ

答えて

1

はあなたが内部ID 1001を持つユーザーを持っていることを確認する必要がありますことを意味し、ID 1001とコンテナのユーザーにID 1001でホストユーザーをマッピングすることです(コンテナの最初のユーザは通常1000のIDを持ちます)。

1

マッピング作業を行うためには3つの部分が必要です。

  1. (あなたがすでにやった)raw.idmapセット
  2. コンテナが
  3. にマップする既存のGIDを持つshadowファイルには、あなたがしようとしているIDマッピング

することができますhost-gid 1001(share)をcontainer-gidにマップします。この場合、container-gidも1001になるように選択しました。

あなたは上記の#1を達成しました。マッピングをセットアップしました。

Accomplishing#2では、コンテナ内にgid 1001を持つグループを作成するだけで済みます。理論的には、これは実際には新しいグループのgidである可能性があり、raw.idmapコマンドを変更して、宛先gidをコンテナに定義されているものと一致するように設定するだけです。

は、上記#3のために、あなたが作るために/etc/subgidをチェックする必要があることを確認あなたは/etc/subgidを見てみると、あなたがのようになりますいくつかの行が表示されるはず1001
コンテナ-GIDにホスト-GID 1001をマップするために許可されています以下、それぞれの行の最初の数は異なっていてもよいけれども:

lxd:100000:65536 
root:100000:65536 

これがデフォルトの設定であり、LXDのに隠された相対オフセットを有するコンテナを生成100000から始まる範囲でのGIDを使用することができることを述べています100000(またはその行の最初の番号が何であっても)のホストgid。コンテナ内からマウントされたディレクトリにファイルを作成すると、ホストから見えるgidはそのオフセット+コンテナgidになります。
lxdがgid 1001を使用できるようにするために、ホストgid 1001をコンテナgid 1001(または任意のコンテナgid)にマップできるようにするには、/etc/subgidファイルにアクセス許可を追加する必要があります。あなたはファイルの最後に次のような行を追加することでこれを行うことができます。

lxd:1001:1 
root:1001:1 

をあなたが異なるのGIDの数を持っている場合は、あなたがraw.idmapオプションを使用する場合、ホストがLXDがマッピングできるようにしたいです、あなたはファイルに追加の行にリストされた非連続的な範囲で

lxd:start-id-to-expose:count-of-ids-to-expose 
root:start-id-to-expose:count-of-ids-to-expose 

」としてそれらを指定することができます。
新しい行を追加する必要があるたびに、常にLXDのドキュメント以来LXDとルートラインの両方を追加していることを確認します彼らはほとんどの用途のために同期していなければならないと言います。

関連する問題