Добавить пользователя в существующую группу в Yocto - PullRequest
0 голосов
/ 21 апреля 2020

Допустим, я создаю пользователя (с именем 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, но, опять же, безрезультатные результаты.

...