2 votes

Les configurations/secrets de Docker sont toujours accessibles en écriture par l'utilisateur et le groupe.

Il semble qu'à chaque fois que j'utilise un secret/config, ils sont toujours accessibles en écriture par le groupe et l'utilisateur, même si j'ai défini le mode explicitement non accessible en écriture par le groupe. Exemple de fichier de composition :

version: "3.4"
services:
  alpine:
    image: alpine
    entrypoint: ["stat", "/foo"]
    secrets:
      - source: foo
        target: /foo
        mode: 400

secrets:
  foo:
    file: foo

Permissions de stat :

Access: (0620/-rw--w----)  Uid: (    0/    root)   Gid: (    0/    root)

Je l'ai fixé à 400 dans le fichier de composition, mais dans le conteneur, il est de 620 !

Cela semble un peu étrange et me pose problème car je veux l'utiliser pour ssh qui se trompe si des fichiers tels que les clés d'utilisateur/d'hôte sont accessibles en écriture par un groupe. La seule autre option que j'ai est d'intégrer la configuration dans l'image, ce que j'aimerais éviter si possible.

Il s'agit d'une question que j'ai posée sur les forums à l'origine, mais j'ai pensé que je pourrais aussi la poster ici : https://forums.docker.com/t/secrets-configs-always-group-writable/65458

3voto

BMitch Points 3744

Vous avez besoin d'un 0 en tête, sinon la notation yaml analysera le nombre comme une décimale au lieu d'un nombre octal :

mode: 0400

L'octal 620 correspond au décimal 400.

Voir la spécification yaml : https://yaml.org/type/int.html

Voir aussi les exemples dans la documentation sur la composition : https://docs.docker.com/compose/compose-file/#long-syntax-2

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X