Bug 55716 - Некорректное использование useradd в %pre
Summary: Некорректное использование useradd в %pre
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: trivy-java-db (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: gamzin@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-08-25 19:11 MSK by Vladislav Glinkin
Modified: 2025-09-09 17:05 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vladislav Glinkin 2025-08-25 19:11:11 MSK
Версия пакета: trivy-java-db-20250429-alt1

Шаги воспроизведения:
1) # apt-get install trivy-java-db

Фактический результат:
Совершаем изменения...
Подготовка...                           ###################################################################################### [100%]
useradd: Warning: missing or non-executable shell '/dev/null'
useradd: ключ должен использоваться с аргументом — «c»
Использование: useradd [параметры] ПОЛЬЗОВАТЕЛЬ
               useradd -D
               useradd -D [параметры]

Параметры:
  -b, --base-dir БАЗ_КАТ        базовый каталог для домашнего каталога новой
                                учётной записи
      --btrfs-subvolume-home    use BTRFS subvolume for home directory
  -c, --comment КОММЕНТАРИЙ     поле GECOS новой учётной записи
  -d, --home-dir ДОМ_КАТ        домашний каталог новой учётной записи
  -D, --defaults                показать или изменить настройки
                                по умолчанию для useradd
  -e, --expiredate ДАТА_УСТ     дата устаревания новой учётной записи
  -f, --inactive НЕАКТИВНОСТЬ   период неактивности пароля новой учётной записи
  -F, --add-subids-for-system   add entries to sub[ud]id even when adding a system user
  -g, --gid ГРУППА              имя или ID первичной группы новой
                                учётной записи
  -G, --groups ГРУППЫ           список дополнительных групп новой
                                учётной записи
  -h, --help                    показать данное сообщение и закончить работу
  -k, --skel КАТ_ШАБ            использовать альтернативный каталог с шаблонами
  -K, --key КЛЮЧ=ЗНАЧЕНИЕ       заменить значение по умолчанию
                                из /etc/login.defs
  -m, --create-home             создать домашний каталог пользователя
  -M, --no-create-home          не создавать домашний каталог пользователя
  -N, --no-user-group           не создавать группу с тем же именем что и у
                                пользователя
  -o, --non-unique              разрешить создание пользователей с
                                повторяющимися (не уникальными) UID
  -p, --password ПАРОЛЬ         зашифрованный пароль новой учётной записи
  -r, --system                  создавать системную группу
  -R, --root КАТ_CHROOT         каталог, в который выполняется chroot
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -s, --shell ОБОЛОЧКА          регистрационная оболочка новой
                                учётной записи
  -u, --uid UID                 пользовательский ID новой учётной записи
  -U, --user-group              создать группу с тем же именем что и у
                                пользователя
  -Z, --selinux-user SEUSER     использовать указанного SEUSER для
                                пользовательского сопоставления SELinux
      --selinux-range SERANGE   use a specific MLS range for the SELinux user mapping

Обновление / установка...
1: trivy-java-db-20250429-alt1          ###################################################################################### [100%]
Завершено.

Ожидаемый результат:
Корректное использование useradd в секции %pre .spec файла.

Причиной такого поведения является некорректное разделение команды в две строки:
  29 useradd -M -r -d %_sharedstatedir/%name -g _trivy -s /dev/null -c 
  30 "Trivy Java DB services" _trivy > /dev/null 2>&1 ||:

Необходимо либо объединить в одну, либо корректно разделить.
Comment 1 Vladislav Glinkin 2025-08-25 19:17:03 MSK
Как следствие, пользователь _trivy не создаётся.
Comment 2 gamzin@altlinux.org 2025-09-09 17:05:28 MSK
Добрый день, спасибо за Ваше замечание!
Пакет был исправлен:
Флаг --skip-java-db-update работает только на стороне клиента, trivy server не поддерживает работу с trivy-java-db. В связи с этим удалено создание пользователя. Он не нужен, так как работа с сервером не осуществляется.