2017-01-31 3 views
1

J'ai un répertoire sur le disque qui est la propriété de share avec gid de 1001. Je veux ajouter ce répertoire comme un périphérique sur l'un des conteneurs lxc, et avoir ce groupe à reporter.mappage gid LXD/LXC

J'ai essayé d'utiliser raw.idmap 'gid 1001 1001' mais le conteneur lxc ne démarrera pas si un ajouter ceci.

Merci

Répondre

1

ce que vous dites avec cette ligne est de cartographier l'utilisateur hôte avec l'ID 1001 à l'utilisateur conteneur avec id 1001, ce qui signifie que vous devez vous assurer que vous avez un utilisateur id 1001 à l'intérieur le conteneur ou le mapper à un utilisateur différent (le premier utilisateur d'un conteneur a généralement l'ID 1000).

1

Trois parties sont nécessaires pour que le mappage fonctionne.

  1. set raw.idmap (que vous avez déjà fait)
  2. le conteneur a un GID existant à la carte à
  3. le fichier shadow permet la mise en correspondance identifiant

Vous essayez pour mapper l'hôte-gid 1001 (share) à un conteneur-gid. Dans ce cas, vous avez choisi que le conteneur-gid sera également 1001.

Vous avez accompli # 1 ci-dessus, vous avez configuré le mappage. L'accomplissement # 2 vous demande juste de créer un groupe avec gid 1001 à l'intérieur du conteneur. En théorie, cela pourrait être n'importe quel gid pour le nouveau groupe et il vous suffirait de modifier la commande raw.idmap pour que le gid de destination corresponde à celui défini dans le conteneur.

Pour 3 ci-dessus, vous devez vérifier /etc/subgid pour vous assurer que vous êtes autorisé à la carte hôte gid 1001 à conteneur gid 1001.
Quand vous regardez /etc/subgid vous devriez voir quelques lignes qui ressemble à quelque chose comme suivant, bien que le premier numéro de chaque ligne peut être différent:

lxd:100000:65536 
root:100000:65536 

C'est la configuration par défaut et dit que LXD peut utiliser IUED avec une gamme à partir de 100000, qui produit des conteneurs qui ont un hidden décalé par rapport au Gids hôte de 100000 (ou quel que soit le premier nombre dans la ligne est). Si vous créez un fichier dans un répertoire monté à partir du conteneur, le gid visible de l'hôte serait ce décalage + le conteneur gid.
Pour autoriser lxd à utiliser gid 1001 et lui permettre par conséquent de mapper l'hôte gid 1001 au conteneur gid 1001 (ou n'importe quel conteneur gid), vous devez ajouter les autorisations à votre fichier /etc/subgid. Vous pouvez le faire en ajoutant une ligne comme celui-ci à la fin du fichier:

lxd:1001:1 
root:1001:1 

Si vous avez un certain nombre de IUED vous voulez que l'hôte pour permettre LXD à la carte lorsque vous utilisez l'option raw.idmap, vous pouvez les spécifier comme "

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

avec des plages non contiguës Cotée sur des lignes supplémentaires dans le fichier.
Assurez-vous toujours ajouter à la fois une ligne LXD et racine à chaque fois que vous avez besoin d'ajouter de nouvelles lignes depuis la documentation LXD dit qu'ils doivent être synchronisés pour la plupart des utilisations.