Summary: | При авторизации в tty обычным пользователем переменная окружения USER=root | ||
---|---|---|---|
Product: | Branch p11 | Reporter: | Антон Мидюков <antohami> |
Component: | systemd | Assignee: | Alexey Shabalin <shaba> |
Status: | RESOLVED FIXED | QA Contact: | qa-p11 <qa-p11> |
Severity: | critical | ||
Priority: | P5 | CC: | aris, arseny, lav, rider, shaba, zerg |
Version: | unspecified | ||
Hardware: | all | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 46625 |
Description
Антон Мидюков
2025-03-17 09:00:25 MSK
Я внёс такое исправление в /usr/lib/systemd/system/getty@.service: [Service] # the VT is cleared by TTYVTDisallocate # The '-o' option value tells agetty to replace 'login' arguments with an # option to preserve environment (-p), followed by '--' for safety, and then # the entered username. -ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear - $TERM +ExecStart=-/sbin/agetty -o '-- \\u' --noclear - $TERM Т.е. убрал -p, и помогло. (Ответ для Антон Мидюков на комментарий #0) [...] > В /etc/profile есть такой код: > [ -n "$USER" ] || USER="/usr/bin/id -un" > Если закомментировать строку, то ничего меняется. Значит, там уже заполнена неправильно. [...] Можно также добавить в getty@.service: UnsetEnvironment=USER (In reply to Антон Мидюков from comment #3) > Можно также добавить в getty@.service: > > UnsetEnvironment=USER Но это костыль. Казалось бы, программа login(1), порождённая из-под getty, не должна переносить в сеанс значение USER из своего env block, потому что там PAM-стек задействуется. (In reply to Антон Мидюков from comment #1) > Я внёс такое исправление в /usr/lib/systemd/system/getty@.service: > > [Service] > # the VT is cleared by TTYVTDisallocate > # The '-o' option value tells agetty to replace 'login' arguments with an > # option to preserve environment (-p), followed by '--' for safety, and then > # the entered username. > -ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear - $TERM > +ExecStart=-/sbin/agetty -o '-- \\u' --noclear - $TERM > > Т.е. убрал -p, и помогло. Информация от arseny@, что в Debian убрали: commit 3d2157e7072b3e9691c469b992848fb249f8b605 Author: Ronan Pigott <ronan@rjp.ie> Date: Wed Aug 14 11:42:03 2024 -0700 units: drop "-p" flag from agetty's login options Так что предлагаю тоже это сделать. Исправить в getty@.service и serial-getty@.service Проблема актуальна для p11. Нужно исправить до выпуска дистрибутивов на p11. Оказывается, уже есть апстримный патч (спасибо Арсению за ссылку), удаляющий опцию -p у agetty: https://github.com/systemd/systemd/commit/3d2157e7072b3e9691c469b992848fb249f8b605 Ещё бы мантейнер пакета нашёлся... Похоже, что при багах все подобные пакеты баги репортеру флаг в руки. ;-) Пока что вокруг текущей баги остаётся один вопрос: стоит ли лишь сбекпортить патч, где убирают -p, или лучше просто обновиться до systemd-stable 257.x. Ответ на него, думаю, зависит от планируемого жизненного цикла systemd не только в сизифе, но и в p11. Скорее всего, у shaba@ были какие-то соображения на этот счёт. Я пока бэкпортирую. Обновлением на новую ветку займусь позже. systemd-1:255.18-alt1 -> sisyphus: Wed Mar 19 2025 Alexey Shabalin <shaba@altlinux> 1:255.18-alt1 - 255.18 - drop "-p" flag from agetty's login options (ALT#53483) (In reply to Repository Robot from comment #11) > systemd-1:255.18-alt1 -> sisyphus: > > Wed Mar 19 2025 Alexey Shabalin <shaba@altlinux> 1:255.18-alt1 > - 255.18 > - drop "-p" flag from agetty's login options (ALT#53483) Спасибо. Теперь ждём исправление в p11. > Спасибо. Теперь ждём исправление в p11. Я отправил https://packages.altlinux.org/ru/tasks/378740/ (Ответ для Sergey V Turchin на комментарий #13) > Я отправил https://packages.altlinux.org/ru/tasks/378740/ Ой, это другое. :-) Ждём исправление в p11. Очень не хочется, чтобы дистрибутивы были из коробки с этим багом. systemd-1:255.18-alt1 -> p11: Wed Mar 19 2025 Alexey Shabalin <shaba@altlinux> 1:255.18-alt1 - 255.18 - drop "-p" flag from agetty's login options (ALT#53483) Sun Jan 05 2025 Alexey Shabalin <shaba@altlinux> 1:255.16-alt1 - 255.16 Thu Oct 10 2024 Alexey Shabalin <shaba@altlinux> 1:255.13-alt1 - 255.13 Tue Sep 24 2024 Alexey Shabalin <shaba@altlinux> 1:255.12-alt1 - 255.12 |