Size: a a a

RU.Docker — Официальное Русское Сообщество

2021 February 20

VC

Vladimir Chernyshev in RU.Docker — Официальное Русское Сообщество
744 = 0o1350
источник

VC

Vladimir Chernyshev in RU.Docker — Официальное Русское Сообщество
1350 - странные права, да?
источник

ДС

Дмитрий Стародубцев... in RU.Docker — Официальное Русское Сообщество
Спасибо. Я как за компом буду, напишу подробнее как это выглядит
источник

ДС

Дмитрий Стародубцев... in RU.Docker — Официальное Русское Сообщество
Белый - это тот, который создается при попытке загрузить файл.
Каюсь, задал на всю папку 777, но это только на момент настройки.
источник

ДС

Дмитрий Стародубцев... in RU.Docker — Официальное Русское Сообщество
В режиме F12 в хроме при этом такое сообщение:
[{"result":"db_restore" , "message":"Defuse\Crypto\Exception\IOException: Could not read from the file in /var/www/teampass/includes/libraries/Encryption/Encryption/File.php:685
Stack trace:
#0 /var/www/teampass/includes/libraries/Encryption/Encryption/File.php(452): Defuse\Crypto\File::readBytes(Resource id #74, 4)
#1 /var/www/teampass/includes/libraries/Encryption/Encryption/File.php(280): Defuse\Crypto\File::decryptResourceInternal(Resource id #74, Resource id #75, Object(Defuse\Crypto\KeyOrPassword))
#2 /var/www/teampass/includes/libraries/Encryption/Encryption/File.php(85): Defuse\Crypto\File::decryptFileInternal('/var/www/teampa...', '/var/www/teampa...', Object(Defuse\Crypto\KeyOrPassword))
#3 /var/www/teampass/sources/main.functions.php(2173): Defuse\Crypto\File::decryptFileWithPassword('/var/www/teampa...', '/var/www/teampa...', '123')
#4 /var/www/teampass/sources/admin.queries.php(421): prepareFileWithDefuse('decrypt', '/var/www/teampa...', '/var/www/teampa...', '123')
#5 {main}"}]
источник

ДС

Дмитрий Стародубцев... in RU.Docker — Официальное Русское Сообщество
А в teampass сообщение Requested JSON parse failed., хотя база должна добавляться с расширением .sql
источник

T

The Fallen Phoenix in RU.Docker — Официальное Русское Сообщество
Paul Reshetnikov
да, но после ребута исчезают
Ну так и должно быть. Чтобы они были постоянным, они должны быть добавлены в конфиги в соответствующие таблицы. Тогда они подхватятся на старте.
источник

T

The Fallen Phoenix in RU.Docker — Официальное Русское Сообщество
The Fallen Phoenix
Ну так и должно быть. Чтобы они были постоянным, они должны быть добавлены в конфиги в соответствующие таблицы. Тогда они подхватятся на старте.
Обычно сервисы systemd которым важны эти таблицы умеют сами редактировать эти файлы, поэтому возможно стоит выключить/включить сломанные юниты
источник

T

The Fallen Phoenix in RU.Docker — Официальное Русское Сообщество
Дмитрий Стародубцев
Коллеги, добрый день.

Подскажите пожалуйста, как можно посмотреть какой контейнер от какого пользователя обращается к файлу на хосте?
У меня есть хост с mariadb, php и nginx в контейнерах. Там же лежит распакованый teampass не в контейнере. Когда пытаюсь загрузить базу в teampass, получаю не очень информативную ошибку. Обнаружил что во время залива в директории teampass создается файл такого же размера, но с необычными правами. Подозреваю что ошибка появляется из-за того что с ним пытается взаимодействовать другой контейнер у которого нет прав.
ptrace, если сможете завести его в таком окружении.
источник

PR

Paul Reshetnikov in RU.Docker — Официальное Русское Сообщество
The Fallen Phoenix
Ну так и должно быть. Чтобы они были постоянным, они должны быть добавлены в конфиги в соответствующие таблицы. Тогда они подхватятся на старте.
Ага, под конец рабочего дня вообще оказалось, что сам докер-енжин и настройки хоста не при чём. Майки натупили с образами для .net 5 - сначала с алиасами намудрили, потом откатили/пофиксили, а я про это и забыл. В итоге правка тега в докерфайле всё поправила. А я на dind грешил... :/
источник

T

The Fallen Phoenix in RU.Docker — Официальное Русское Сообщество
The Fallen Phoenix
ptrace, если сможете завести его в таком окружении.
Это безусловно возможно но требует опыта.
источник

T

The Fallen Phoenix in RU.Docker — Официальное Русское Сообщество
Есть попроще способ: в директории proc (под рутом только) можно найти информацию о каждом из процессов, в том числе о каждом открытом файловом дескрипторе.
источник

T

The Fallen Phoenix in RU.Docker — Официальное Русское Сообщество
И напоследок: есть debugfs псевдо-файловая система. Она позволяет как и ptrace ловить системные вызовы, но значительно проще в работе
источник

T

The Fallen Phoenix in RU.Docker — Официальное Русское Сообщество
Paul Reshetnikov
Ага, под конец рабочего дня вообще оказалось, что сам докер-енжин и настройки хоста не при чём. Майки натупили с образами для .net 5 - сначала с алиасами намудрили, потом откатили/пофиксили, а я про это и забыл. В итоге правка тега в докерфайле всё поправила. А я на dind грешил... :/
Поэтому важно добросовестно вести систему контроля версий, чтобы была возможность протестировать прошлую версию, когда не ясно что вызвало баг: обновление программы или изменения в рантайме.
источник

PR

Paul Reshetnikov in RU.Docker — Официальное Русское Сообщество
Стопроцентно согласен, но в команде из 3 человек-оркестров (бэк, фронт, ведущий) - тяжеловасто (ни qa, ни devops,..).. ладно, это уже оффтоп. Спасибо
источник

T

The Fallen Phoenix in RU.Docker — Официальное Русское Сообщество
Дмитрий Стародубцев
А в teampass сообщение Requested JSON parse failed., хотя база должна добавляться с расширением .sql
У меня есть ещё модуль для LD_PRELOAD который делает логирование всех затронутых программой файлов (в файл или stdout). Если нужно, найду исходники.
источник

T

The Fallen Phoenix in RU.Docker — Официальное Русское Сообщество
Она подменяет все низкоуровневые вызовы read, write, readdir и прочее с целью вытащить эту инфу. Я ее сам допиливал напильником из версии которая пропускала добрую половину.
источник

T

The Fallen Phoenix in RU.Docker — Официальное Русское Сообщество
Paul Reshetnikov
Стопроцентно согласен, но в команде из 3 человек-оркестров (бэк, фронт, ведущий) - тяжеловасто (ни qa, ни devops,..).. ладно, это уже оффтоп. Спасибо
Да ну, достаточно просто запретить передавать друг другу артефакты минуя гит. То есть передача файлика в телеграмме скажем должна быть заменена на отправку ссылки на коммит в приватной вашей репке.
источник

T

The Fallen Phoenix in RU.Docker — Официальное Русское Сообщество
Научиться просто делать got add *
git commit -m update
git push
источник

T

The Fallen Phoenix in RU.Docker — Официальное Русское Сообщество
Не рокетсаенс, но уже будет какая никакая история
источник