Допустим, я создаю пользователя (с именем www-data), используя класс useradd
:
[...]
inherit useradd
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "--system --no-create-home --home /var/www --groups www-data --user-group www-data"
[...]
Теперь я решаю, что пользователь должен запускать journalctl ...
команды, поэтому он должен быть членом группы systemd-journal
. Следовательно, мой рецепт становится:
[...]
inherit useradd
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "--system --no-create-home --home /var/www --groups www-data,systemd-journal --user-group www-data"
[...]
systemd-journal
присутствует в системе (в обеих версиях рецепта), но www-data
не является его частью после того, как я изменил рецепт, и я ожидал он должен быть членом группы.
Я также пытался GROUPADD_PARAMS_${PN} = "-r systemd-journal"
, но получил тот же результат, пользователь www-data
, который не входит в группу systemd-journal
.
Как я должен выполнить sh это?
PS: я исправил эту проблему, включив в systemd службу "первой загрузки", которая выполняет необходимую настройку один раз, а затем отключает себя, но это кажется хаки sh и мне нужно знать, что (если) я что-то не так сделал выше.
PPS: Я также попробовал класс extrausers
, чтобы usermod -aG systemd-journal www-data
, но, опять же, безрезультатные результаты.