bbb-record --check fails because of missing user/group

Aperta
#396 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
55/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
docker, shell

Direzione di ricerca

Leggi mod/recordings/Dockerfile intorno alle righe 19-46 e il bigbluebutton-config/bin/bbb-record indicato intorno alla riga 54. Riproduci il comportamento mancante di utente/gruppo con l’immagine Debian trixie oppure ricostruisci l’immagine di registrazione, quindi determina quale modifica proposta impedisce a bbb-record di fallire quando UID/GID 998 è già occupato. Il lavoro è completato quando l’immagine viene compilata e bbb-record gestisce il conflitto di utente/gruppo.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

As the user/groupid 998 is already taken by systemd-network i'm guessing the user couldn't be created on build-time?

From what i could make out this happens due to the installation of systemd in the image before adding the static user/group with the id 998.

# getent passwd |grep systemd-network
systemd-network:x:998:998:systemd Network Management:/:/usr/sbin/nologin

https://github.com/bigbluebutton/docker/blob/d38784bc848ea19c72f02c9c9acb91dbe44ad7ce/mod/recordings/Dockerfile#L19-L46

You can check this behaviour with the following in a clean trixie-image.
e.g. podman run -ti --name trixie --hostname trixie --network host debian:trixie /bin/bash

# the grep is used to lower the noise
root@trixie-12:/# apt-get -U install wget subversion rsync build-essential libsystemd-dev python3 python3-attr python3-cairo python3-gi python3-gi-cairo python3-lxml python3-icu python3-pyinotify python3-sortedcollections python3-packaging gir1.2-pangocairo-1.0 gir1.2-poppler-0.18 gir1.2-gtk-3.0 gir1.2-gdkpixbuf-2.0 fonts-croscore ffmpeg poppler-utils imagemagick supervisor unzip locales locales-all -o apt::install-recommends=0 --assume-no | grep --colour systemd
  libopenjp2-7 libopenmpt0t64 libopus0 libp11-kit0 libpam-systemd
  libsvtav1enc2 libswresample5 libswscale8 libsystemd-shared libtasn1-6
  rpcsvc-proto shared-mime-info systemd systemd-sysv x11-common xkb-data
  subversion-tools supervisor-doc systemd-container systemd-homed
  systemd-userdbd systemd-boot systemd-resolved systemd-repart
  python3-bs4 python3-cssselect python3-html5lib systemd-timesyncd
  | time-daemon systemd-cryptsetup libnss-systemd
  libopenjp2-7 libopenmpt0t64 libopus0 libp11-kit0 libpam-systemd
  libsvtav1enc2 libswresample5 libswscale8 libsystemd-dev libsystemd-shared
  rpcsvc-proto rsync shared-mime-info subversion supervisor systemd
  systemd-sysv unzip wget x11-common xkb-data xz-utils

I added the -o apt::install-recommends=0 to see if it would already skip it but sadly not. Tho in general any application is working w/o installing recommends other than in some edge cases or "desktop-environment" nonsense 🙊

I haven't tried it myself to rebuild the whole thing but you could add the string systemd- to end of the apt-get install ... command or some place in there which will prevent installing systemd in the image.
If it's not used at all from any image than you could probably live without it or not? And it will also reduce the size of the images 🙈

root@trixie-12:/# apt-get -U install wget subversion rsync build-essential libsystemd-dev python3 python3-attr python3-cairo python3-gi python3-gi-cairo python3-lxml python3-icu python3-pyinotify python3-sortedcollections python3-packaging gir1.2-pangocairo-1.0 gir1.2-poppler-0.18 gir1.2-gtk-3.0 gir1.2-gdkpixbuf-2.0 fonts-croscore ffmpeg poppler-utils imagemagick supervisor unzip locales locales-all -o apt::install-recommends=0 --assume-no systemd- | grep --colour systemd
Package 'systemd' is not installed, so not removed
  dbus-user-session libpam-systemd pinentry-gnome3 tor debian-keyring
  libsvtav1enc2 libswresample5 libswscale8 libsystemd-dev libtasn1-6

On the other hand one could just modify bbb-record instead???

https://github.com/bigbluebutton/bigbluebutton/blob/8ffb970e020b96e990f9ed0c6ad6debf7c3b554b/bigbluebutton-config/bin/bbb-record#L54

So maybe running this at the end of image-creation? e.g.

root@meet /opt/docker/bbb-docker (git)-[main] # grep BBB_USER= /tmp/bbb-record
declare -r BBB_USER=bigbluebutton
root@meet /opt/docker/bbb-docker (git)-[main] # sed 's|BBB_USER=bigbluebutton|BBB_USER="$(id -n -u 998)"|' /tmp/bbb-record |grep BBB_USER=
declare -r BBB_USER="$(id -n -u 998)"
Lingua principale
Shell
Stelle
435
Fork
274
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di bigbluebutton/docker

Tutte le issue di bigbluebutton/docker

Issue simili

Altre issue su Shell/Bash

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.