Userns restrict
С некоторых пор в ядре доступен механизм user namespaces, в mainline ядре он доступен без ограничений непривелегированным пользователям.
К сожалению, в ядре до сих пор имеется множество подсистем не полностью адаптированных к использованию user namespaces (USERNS) и регулярно находятся связанные с ними серьёзные проблемы с безопасностью.
В ALT, как и в некоторых других дистрибутивах, в частности в RHEL, Debian и Ubuntu к ядру приложены различные патчи для управления доступностью создания новых USERNS для непривелигированных пользователей. В ALT используется реализация от Kees Cook, используемая в Ubuntu, для переключения используется sysctl kernel.userns_restrict, однако значение по умолчанию выставлено в 1 (создание USERNS непривелигированными пользователями запрещено).
Это может приводить к ошибкам при запуске или использовании программ, не расчитанных на такое поведение, например:
The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that <путь>/chrome-sandbox is owned by root and has mode 4755.
Для исправления можно использовать выставление SUID бита на исполняемом файле, используемом для создания USERNS (в данном случае, это chrome-sandbox из поставки стороннего приложения, предположительно основанного на Electron). При этом рекомендуется ограничить доступ к исполнению этого файла через право исполнения только для определённой группы.
Также можно глобально выключить ограничение, изменив значение sysctl.
- временно: sysctl kernel.userns_restrict=0
- постоянно: создать в каталоге /etc/sysctld.d файл, например с именем 50-userns.conf и следующим содержанием:
kernel.userns_restrict = 0