Как стать автором
Обновить

Комментарии 8

Как залезть в консоль контейнера, если там выключен shell вообще? Вот пример контейнер с движком Ghost. Или как получить доступ к файловой системе контейнера, чтобы там что-то подправить, только сборкой своего контейнера на основе другого?
получаем id контейнера:
docker ps

заходим и делаем всё, что хочется:
docker exec -i -t 6ee6223a3ce3 bash
Но от этого не спасёт и наличие рутового пароля в контейнере.
Одному мне кажется, что 'нет пароля root' и 'пароль пустой' — совершенно разные вещи? Можно взять и убрать хеш пароля из /etc/shadow и тогда уже никакой пароль руту не подойдёт. А можно задать пароль в виде пустой строки — и тогда пустая строка, очевидно, будет паролём.
Фраза «пустой пароль» однажды использовалась в тексте и во избежание некорректного её прочтения исправил, спасибо.

Речь про строку в /etc/shadow определённого вида (root::…), что указано в описании работы скрипта. Такая строка означает, что пользователя root пустят в систему без даже просьбы вводить какой-либо пароль. В Ubuntu, например, по умолчанию делают root:!:…, что действительно означает уже совсем иное: никакой пароль не подойдёт (хэш не совпадёт).
я не понял как ее можно использовать?
если есть доступ к хосту то и пароль не поможет — в любой образ зайти можно.
если нет то большинство и так запускают приложения из под рута в докере,
так что есть пароль нет пароля — все равно.
с одной стороны не секюрно, с другой — как этим воспользоваться?
1. большинство контейнеров выполняются внутри от рута
2. если ssh-порт не прокинуть на ружу — извне не зайти
3. если есть доступ к пользователю имеющий право выполнять docker — он может что угодно делать с контейнером и без внутреннего рута (перезобрать образ, в конце концов, и чтото подменить внутри)
4. вопрос: зачем вообще образу рут с паролем?
а зачем он там в нужен в докер образах?
Зарегистрируйтесь на Хабре , чтобы оставить комментарий