Docker не может изменить часовой пояс

  1. Если вы правильно указали бит SUID, устанавливает эффективный идентификатор пользователя нового процесса на владельца исполняемого файла программы . Нет концепции повышения или понижения привилегий. Часто пользователь , который "suids" является пользователем root, но он также может быть любым другим, и это не меняет концепцию SUID, когда вы выберите другой, кроме того, что некоторые пользователи имеют доступ к определенным ресурсам . Однако пользователь root немного особенный, и страница руководства для setuid объясняет тонкие различия. Я не думаю, что есть специальное имя для перехода на пользователя без полномочий root, и я никогда не связывал suid, означающий повышение привилегий, просто изменение пользователя.

  2. Поскольку вы разрабатываете мастер самостоятельно, который запускается от имени пользователя root, его можно установить для любого пользователя после разветвления, но перед выполнением нового процесса , я не вижу, что бит suid должен быть используется для исполняемого файла на всех , и, кстати, если вы этого не сделаете, то, если какой-либо старый пользователь запустил проигрыватель , поскольку исполняемый файл не является suid, они не смогут запустить {{ 1}} это правильно, поскольку setuid не будет работать, если они не были root. Для меня это кажется лучшей безопасностью, чем использование битов suid в исполняемых файлах .

--- edit 1

Итак, ваш менеджер (работающий как реальный и эффективный uid = 0) запускает player, а вы кодируете / управляете игроком (не менеджером). Если вы не сделаете ничего особенного, то игрок будет работать с реальным + эффективным uid = 0, и вы хотите предотвратить это.

Вы можете просто переключить uid в плеере, без битов SUID в плеере, не нужно.

0
01.03.2019, 12:40
1 ответ

Контейнер — это не виртуальная машина, это процесс, работающий в собственной файловой системе и в сетевом пузыре. Некоторые глобальные системные настройки наследуются от хоста. Чтобы изменить часовой пояс процесса, работающего в контейнере, достаточно установить переменную среды TZ. Это стандартный способ Unix иметь собственный часовой пояс (в системе, который потенциально может использоваться пользователями из разных часовых поясов ).

>> docker run -it --rm debian bash
root@719d5f1d0999:/# date
Fri Mar  1 10:54:56 UTC 2019
root@719d5f1d0999:/# export TZ='CET'
root@719d5f1d0999:/# date
Fri Mar  1 11:55:19 CET 2019
3
28.01.2020, 02:30

Теги

Похожие вопросы