Конфиги / секреты Docker всегда доступны для записи пользователю / группе - PullRequest
0 голосов
/ 20 декабря 2018

Кажется, что всякий раз, когда я использую секрет / конфигурацию, они всегда доступны для групповой и пользовательской записи, даже когда я устанавливаю режим явно не групповой записи.Пример составного файла:

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

secrets:
  foo:
    file: foo

Разрешения от стат:

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

Я установил его как 400 в файле составления, но в контейнере это 620!

Это кажется немного странным и проблематичным для меня, так как я хочу использовать это для ssh, который выдает ошибки, если такие файлы, как ключи пользователя / хоста, доступны для записи в группе.Единственный другой вариант, который у меня есть, это запечь конфиг в образ, которого я хотел бы избежать, если это возможно.

Это вопрос, который я задавал на форумах изначально, но я подумал, что я мог бы также опубликовать егои здесь: https://forums.docker.com/t/secrets-configs-always-group-writable/65458

1 Ответ

0 голосов
/ 20 декабря 2018

Вам нужен начальный 0, иначе нотация yaml будет анализировать число как десятичное вместо восьмеричного числа:

mode: 0400

Восьмеричное число 620 - это десятичное 400.

См. Спецификацию yaml: https://yaml.org/type/int.html

Также приведены примеры в документации к составу: https://docs.docker.com/compose/compose-file/#long-syntax-2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...