Bug 54890 - Пользовательский сервис systemd не использует /etc/profile
Summary: Пользовательский сервис systemd не использует /etc/profile
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: systemd (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P2 critical
Assignee: Alexey Shabalin
QA Contact: qa-sisyphus
URL: https://www.spinics.net/linux/fedora/...
Keywords:
Depends on:
Blocks:
 
Reported: 2025-06-23 13:50 MSK by riverdome@yandex.ru
Modified: 2025-11-18 22:35 MSK (History)
10 users (show)

See Also:


Attachments
To source or not to source?.. (92.82 KB, image/jpeg)
2025-06-30 21:34 MSK, Arseny Maslennikov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description riverdome@yandex.ru 2025-06-23 13:50:32 MSK
В /etc/profile указал umask 002.
Через консоль создаются файлы с верными правами (775).
А вот через Dolphin — с правами 755, как будто umask 022!

Ошибка и способы обхода описаны здесь:
https://www.spinics.net/linux/fedora/fedora-kde/msg21769.html

Цитирую:
Ah, I don't think that is a bug. I had the same issue, but not only for dolphin, but all KDE apps (like kid3 etc.). So I stressed google up an down and finally found the reason for it: KDE is started since some fedora versions via systemd --user part. And this systemd does not inherit parents umasks but sets it to 0022 by default - unless it is told to do otherwise. This can be done in the systemd units via UMask setting or via pam_umask in the pam config files.


simple add "session optional pam_umask.so usergroups" to the /etc/pam.d/system-auth file, reboot and login again - and dolphin should create files as requested (at least id did for me during some short tests).
Comment 1 Sergey V Turchin 2025-06-23 13:54:40 MSK
(Ответ для riverdome@yandex.ru на комментарий #0)
> https://www.spinics.net/linux/fedora/fedora-kde/msg21769.html
pam_umask.so есть в /etc/pam.d/systemd-run0, но не вижу, чтоб он где-то цеплялся.
Comment 2 Evgeny Shesteperov 2025-06-24 21:15:00 MSK
Версия

-   pam-config-1.9.1-alt1

Шаги воспроизведения

Изменить /etc/profile.

    # sed -iE 's|umask .*|umask 002|g' /etc/profile

Создать папку testfolder через Dolphin.

Проверить папку:

    $ stat testfolder

Ожидаемый результат: создана папка с правами 0775/drwxrwxr-x

Фактический результат: создана папка с правами 0755/drwxr-xr-x

Воспроизводится в P11.
Comment 3 Dmitry V. Levin 2025-06-25 00:19:16 MSK
Вы не находите странным нежелание решать проблему неиспользования /etc/profile?
Там не только и не столько umask выставляется.

Перевесьте, пожалуйста, на Dolphin.
Comment 4 riverdome@yandex.ru 2025-06-25 09:21:04 MSK
(Ответ для Dmitry V. Levin на комментарий #3)
> Вы не находите странным нежелание решать проблему неиспользования
> /etc/profile?
> Там не только и не столько umask выставляется.
> 
> Перевесьте, пожалуйста, на Dolphin.

Вроде никто не отказывался. Все признали наличие неполадки.
Почему надо перевешивать на Dolphin, если дело в pam.d ?
Или я что-то не понял?
Comment 5 riverdome@yandex.ru 2025-06-25 09:47:03 MSK
Есть ещё одна странность.
При установке umask 002 в /etc/profile, эта настройка применяется ко всем пользователям, кроме первого (с uid=1000).
Я не уверен, что дело в uid и вообще нет каких-то предположений о причинах.
Просто наблюдение:

$ cat /etc/profile
umask 002
$ umask 
0022

А вот в сеансе root (и других пользователей) всё правильно:
# umask 
0002

После добавления строки
session		optional	pam_umask.so	usergroups
в /etc/pam.d/system-auth вывод umask становится правильным у первого тоже.
Comment 6 Sergey V Turchin 2025-06-26 10:55:33 MSK
(Ответ для Dmitry V. Levin на комментарий #3)
> Перевесьте, пожалуйста, на Dolphin.
/usr/lib/systemd/user/plasma-dolphin.service
Можно перевесить только на systemd, иначе придётся перевешивать на каждый конечный софт.
Comment 7 Anton Farygin 2025-06-26 11:03:17 MSK
Да, действительно больше похоже на проблему с systemd
Comment 8 Sergey V Turchin 2025-06-26 11:07:02 MSK
Я, кстати, уже костылил это. https://git.altlinux.org/gears/p/plasma-workspace.git?p=plasma-workspace.git;a=blob;f=alt-run-etc-profile.patch
Comment 9 Arseny Maslennikov 2025-06-30 21:34:58 MSK
Created attachment 18913 [details]
To source or not to source?..
Comment 10 riverdome@yandex.ru 2025-07-05 11:14:01 MSK
И вот ещё.
Первый создаваемый в системе пользователь с ID 1000 сразу включается в группу users, а с ней сарафаном ещё множество разных служебных групп, вроде 14(uucp),19(proc),22(cdrom),36(vmusers),71(floppy),80(cdwriter),81(audio),83(radio) и пр.

Я добавлю пользователя в группу ved.
Создаю каталог с правами записи для группы ved.

stat /mnt/YandexDisk/Письма
  Файл: /mnt/YandexDisk/Письма
  Размер: 12288         Блоков: 24         Блок В/В: 1048576 каталог
Устройство: 0/59        Инода: 109445121   Ссылки: 8
Доступ: (2775/drwxrwsr-x)  Uid: ( 1003/ UNKNOWN)   Gid: ( 1013/     ved)

Но записать не могу!

А вот если исключить пользователя из группы users — всё работает как надо!
Что это — баг или фича?
Comment 11 Sergey V Turchin 2025-07-07 09:31:58 MSK
(Ответ для riverdome@yandex.ru на комментарий #10)
> И вот ещё.
Тут не надо. Создайте отдельный баг.
Comment 12 riverdome@yandex.ru 2025-07-07 09:40:27 MSK
(Ответ для Sergey V Turchin на комментарий #11)
> (Ответ для riverdome@yandex.ru на комментарий #10)
> > И вот ещё.
> Тут не надо. Создайте отдельный баг.

Я просто не знаю, это связано с исходным или нет?
Если нет, то какой продукт/компонент указать при создании новой заявки?
Comment 13 Sergey V Turchin 2025-07-07 10:24:55 MSK
(Ответ для riverdome@yandex.ru на комментарий #12)
> какой продукт/компонент указать при создании новой заявки?
p11/libnss-role
Comment 14 riverdome@yandex.ru 2025-07-18 01:03:49 MSK
Создал баг #55088, но сдаётся мне, что эти две ошибки — суть одна.

Что бы права заработали через GUI, надо в /etc/pam.d/system-auth не только добавить строку
session		optional	pam_umask.so	usergroups
но так же удалить пользователя из группы users.

Не уверен, что это всегда так, продолжаю наблюдение.
Comment 15 riverdome@yandex.ru 2025-07-30 13:31:31 MSK
#55088 оказался не багом.

NFS смотрит первые 16 групп, это прописано в https://datatracker.ietf.org/doc/html/rfc5531