1

Я пытаюсь использовать Brave Browser на своем компьютере с CentOS, но когда я пытаюсь запустить его, он выдает следующую ошибку.

[19576: 19576: 0208/180128.818448: FATAL: zygote_host_impl_linux.cc(126)] Нет доступной песочницы! Обновите ядро или посмотрите https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md для получения дополнительной информации о разработке с помощью изолированной программной среды SUID. Если вы хотите жить опасно и нуждаетесь в немедленном обходе, вы можете попробовать использовать --no-sandbox. рыба: «./brave» прекращается сигналом SIGABRT (Abort)

На git-странице проекта говорилось, что я могу получить ошибку об песочнице, и предлагал решение этой проблемы.

Вот что это говорит:

ПРИМЕЧАНИЕ: Если Brave не запускается и выдает ошибку о песочнице, вам может потребоваться включить userns в вашем ядре. Запуск с флагом --no-sandbox НЕ рекомендуется!

Теперь у меня есть три основных вопроса:

1) Что именно делают пользователи? Я попытался прочитать справочную страницу о пространствах имен пользователей, но все стало немного сложнее для меня, поэтому я был бы признателен за некоторые пояснения.

2) Это нормально, если я включаю userns, или это может вызвать проблемы?

3) Если все в порядке, как мне это сделать? Это метод, который я нашел, но я не уверен, что это будет лучшим способом сделать это.

https://luppeng.wordpress.com/2016/07/08/user-namespaces-with-cent-os-7-rhel/

1 ответ1

3

Пространства имен - это функция ядра, используемая такими контейнерами, как LXC или Docker. У вас есть несколько видов, пространства имен PID, пространства имен пользователей, ... И ты прав, сначала это довольно сложно. Я считаю, что этот старый блог имеет хорошее объяснение того, почему он полезен для контейнеров: https://rhelblog.redhat.com/2015/07/07/whats-next-for-containers-user-namespaces/

Итак, зачем мне это делать? Ну, это особенно полезно для обеспечения корневого доступа внутри контейнера. Представьте, что пользователь root (uid 0) в контейнере A отображается на uid 1000, а этот root в контейнере B отображается на id 2000 пользователя вне контейнера. Подобно сопоставлению сетевых портов, это позволяет администратору назначать кому-либо uid 0 (root) в контейнере, не задавая uid 0 в базовой системе. Это также позволяет пользователю свободно добавлять / удалять пользователей внутри контейнера.

На RHEL 7.4 должно быть включено ядро, но оно должно быть отключено конфигурацией (по умолчанию количество доступных пространств имен установлено на ноль). Просто выполните:

echo 10000 > /proc/sys/user/max_user_namespaces

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .