Bug 47279
| Summary: | Не открывается ссылка на GitHub, если приложение запущено от root-пользователя | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Монастырский Илья <monastirskiyii> |
| Component: | sniffnet | Assignee: | Alexandr Shashkin <dutyrok> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | ded, dutyrok, dutyrok, krasovskijdo |
| Version: | unstable | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
На актуальной версии в Sisyphus ошибка не воспроизводится sniffnet-1.5.1-alt1 Шаги воспроизведения: 1) Запустить sniffnet от root-пользователя: # sniffnet 2) Открыть GitHub Ожидаемый результат: корректный запуск Реальный результат: error: XDG_RUNTIME_DIR is invalid or not set in the environment. libEGL warning: DRI3 error: Could not get DRI3 device libEGL warning: Ensure your X server supports DRI3 to get accelerated rendering [3318:3318:0812/150458.265509:ERROR:content/browser/zygote_host/zygote_host_impl_linux.cc:101] Running as root without --no-sandbox is not supported. See https://crbug.com/638180. Дополнительно: Если запускать приложение от обычного пользователя, ссылка на GitHub открывается Забыл указать стенды (обновленные до Sisyphus): Alt Workstation 11.2 x86-64 Alt Workstation K 11.4 x86-64 Alt Education XFCE/KDE 11.1 x86-64 Подготовлен sniffnet-1.5.1-alt2 в задании https://packages.altlinux.org/en/tasks/434238/. 1. Что исправлено. ================== Приложение открывало внешние ссылки через xdg-open с эффективным uid процесса. При запуске через sudo браузер порождался от root, а chromium-семейство отказывается работать от root без --no-sandbox (см. указанный вами же https://crbug.com/638180) — потому ссылка и не открывалась. Теперь при наличии SUDO_USER ссылка открывается от имени исходного пользователя (через runuser), с восстановлением XDG_RUNTIME_DIR по SUDO_UID. 2. Что не чинится в принципе. ============================= (su -, вход root'ом). SUDO_USER отсутствует: делегировать открытие ссылки не к кому, а браузер от root отказывается стартовать сам по себе. Это ограничение браузера и root-окружения, а не пакета. Firefox от root работает — на стендах с firefox дефолтом баг и не воспроизводился. 3. Дополнительные проблемы с sudo. ================================== У меня на системе sudo по умолчанию срезает XAUTHORITY/XDG_RUNTIME_DIR/WAYLAND_DISPLAY, без их сохранения не стартует любой GUI (не только sniffnet). Для надёжной проверки фикса: ---------------------- sudo env WAYLAND_DISPLAY="$WAYLAND_DISPLAY" XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" \ XAUTHORITY="${XAUTHORITY:-$HOME/.Xauthority}" DISPLAY="$DISPLAY" sniffnet ---------------------- 4. Запланированный сценарий работы. =================================== Штатным считается открывать sniffnet от нерутового пользователя: бинарник устанавливается с file capabilities (cap_net_raw,cap_net_admin) и полноценно работает от обычного пользователя — запуск от root не требуется. |

Description
Монастырский Илья 2023-08-17 15:56:25 MSK