Bug 49266

Summary: rpm-build: brp: Запретить systemd-юнитам запускать под nobody
Product: Sisyphus Reporter: Arseny Maslennikov <arseny>
Component: rpm-buildAssignee: Arseny Maslennikov <arseny>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: andy, arseny, glebfm, imz, ldv, placeholder, rider, shaba, vt
Version: unstable   
Hardware: x86_64   
OS: Linux   
Bug Depends on:    
Bug Blocks: 46776    

Description Arseny Maslennikov 2024-02-02 14:31:58 MSK
Вообще давно пора на этапе сборки пакета проверять эти юниты.

Я собрал задание, в котором появляется новый brp-модуль, исключающий использование uid и gid 65534 и nobody в systemd-юнитах.
https://git.altlinux.org/tasks/339484/
Comment 1 Arseny Maslennikov 2024-02-10 17:21:24 MSK
* Thu Jan 11 2024 Arseny Maslennikov <arseny@altlinux.org> 4.0.4.195-alt1
- debuginfo: Changed compression format (--lzma2=dict=2MiB ->
  --check=crc32 --lzma2=dict=1MiB) of xz-compressed modules for compatibility
  with kmod >= 31 (thx asheplyakov@).
- Introduced brp-verify-unit to check sanity of systemd units included
  in built packages.
Comment 2 Anton Farygin 2024-02-10 17:23:12 MSK
Запрет на использование nobody в юнитах больше похож на ошибку. Переоткрыть или открыть новую ?
Comment 3 Andrew Vasilyev 2024-02-10 17:26:35 MSK
(Ответ для Anton Farygin на комментарий #2)
> Запрет на использование nobody в юнитах больше похож на ошибку. Переоткрыть
> или открыть новую ?

  Тут всё похоже на ошибку: file mode юнитов надо фиксить автоматом,
  сервисы под nobody запускают многие.
Comment 4 Arseny Maslennikov 2024-02-10 17:37:27 MSK
Предлагаю про права завести отдельную багу.
Comment 5 Andrew Vasilyev 2024-02-11 23:15:43 MSK
  Из lizardfs, файла mfsexports.cfg: 

# ... Local roots are mapped as
# 'nobody' users (usually uid=65534).
  
  И в lizardfs-cgiserv.service: User=nobody

  Так что прекрасно в "других дистрибутивах" под nobody и сервисы
  запускают, и FS монтируют.
Comment 6 Arseny Maslennikov 2024-02-12 12:02:11 MSK
(In reply to Andrew Vasilyev from comment #3)
> (Ответ для Anton Farygin на комментарий #2)
> > Запрет на использование nobody в юнитах больше похож на ошибку. Переоткрыть
> > или открыть новую ?
> 
>   Тут всё похоже на ошибку: file mode юнитов надо фиксить автоматом,
>   сервисы под nobody запускают многие.

На машине с локально смонтированным репозиторием:

% (export LC_ALL=C; grep /lib/systemd/system/ /ALT/Sisyphus/{noarch,x86_64}/base/contents_index | cut -d$'\t' -f2 | sort -u | grep -v '^systemd' | wc)
    820     820   10283

5 сервисов из 820 — это не многие.
Comment 7 Arseny Maslennikov 2024-04-17 12:14:02 MSK
На сегодняшний день по итогам тестовой пересборки остался только bozohttpd.