Bug 55609

Summary: Добавить пути /usr/bin/fish, /bin/fish в /etc/shells по умолчанию
Product: Sisyphus Reporter: Андрей <ledity>
Component: setupAssignee: Alexey Gladkov <legion>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: arseny, glebfm, ldv, ledity, legion, placeholder, varaksaaa, vt
Version: unstable   
Hardware: x86_64   
OS: Linux   
See Also: https://bugzilla.altlinux.org/show_bug.cgi?id=47424
https://bugzilla.altlinux.org/show_bug.cgi?id=50600
Attachments:
Description Flags
мой /etc/shells для иллюстрации none

Description Андрей 2025-08-14 14:27:29 MSK
Created attachment 19354 [details]
мой /etc/shells для иллюстрации

GDM и GNOME считают человеческими пользователями (помимо китерия про UID >= 1000) только тех, у чей shell находится в списке /etc/shells. Однако, согласно spec-файлу пакета fish, в этот список добавляется только её реальный путь, то есть /usr/bin/fish. Путь /bin/fish, в отличие от подобных для остальных оболочек (по умолчанию предоставленных пакетом setup), там  не появляется. Вследствие этого при неаккуратной установке оболочки по умолчанию на /bin/fish, вход в систему перестаёт работать вообще.

Поскольку знать, что в системе /bin - ссылка на /usr/bin, - это не обязанность пакета fish, наиболее разумным выходом было бы просто добавить эту оболочку в /etc/shells изначально.

P.S. Пишу, как баг пакета setup, потому что в аналогичном запросе на fish другого пользователя именно это делать и послали.
Comment 1 Андрей 2025-08-14 14:29:04 MSK
(Ответ для Андрей на комментарий #0)

> P.S. Пишу, как баг пакета setup, потому что в аналогичном запросе на fish
> другого пользователя именно это делать и послали.

P.P.S. Это был запрос 55600.
Comment 2 Arseny Maslennikov 2025-08-14 14:52:58 MSK
У нас давно висит пожелание сделать /etc/shells автогенерируемым из состава пакетов (и локальных добавлений от администратора)
Comment 3 Arseny Maslennikov 2025-08-14 14:54:18 MSK
(In reply to Андрей from comment #1)
> (Ответ для Андрей на комментарий #0)
> > P.S. Пишу, как баг пакета setup, потому что в аналогичном запросе на fish
> > другого пользователя именно это делать и послали.
> P.P.S. Это был запрос 55600.

> Bug 55600 - NetworkManager (etcnet): Удаление link-local IPv6-адреса с помощью `ip`, если CONFIG_IPV6=yes, ...
Не похоже. :)
Comment 4 Андрей 2025-08-14 20:38:52 MSK
(Ответ для Arseny Maslennikov на комментарий #3)
> > Bug 55600 - NetworkManager (etcnet): Удаление link-local IPv6-адреса с помощью `ip`, если CONFIG_IPV6=yes, ...
> Не похоже. :)

Да-да, 50600, ошибся
Comment 5 Artem Varaksa 2025-08-19 13:44:47 MSK
Сейчас по умолчанию в p11 (ALT Workstation 11.0 x86_64):

> # cat /etc/shells
> /bin/sh
> /usr/bin/sh
> /bin/bash
> /usr/bin/bash
> /bin/ash
> /usr/bin/ash
> /bin/bsh
> /usr/bin/bsh
> /bin/csh
> /usr/bin/csh
> /bin/tcsh
> /usr/bin/tcsh
> /bin/ksh
> /usr/bin/ksh
> /bin/zsh
> /usr/bin/zsh

В sisyphus дополнительно ещё и:

> /bin/xonsh
> /usr/bin/xonsh

Т. е. все shell указаны как с /usr/bin, так и с /bin.

---

После установки fish действительно добавляется только /usr/bin/fish.

# chsh test -s /usr/bin/fish
Вход через GDM под пользователем test успешный.

# chsh test -s /bin/fish
Пользователь исчезает из списка (может исчезнуть и сам список, т. к. пользователь один), возможен только ручной ввод имени пользователя и пароля. При ручном вводе отображается ошибка "Вход с паролем не сработал. Попробуйте ещё раз, пожалуйста.".

# echo "/bin/fish" >> /etc/shells
Вход становится возможным.


[p11] ALT Workstation 11.0 x86_64
gdm-47.0-alt3.x86_64
pam-1.7.1-alt1.x86_64
setup-2.2.21-alt1.noarch
gnome-session-47.0.1-alt1.x86_64
kernel-image-6.12-6.12.41-alt1.x86_64

[sisyphus] ALT Workstation 11.0 x86_64
gdm-48.0-alt5.x86_64
pam-1.7.1-alt1.x86_64
setup-2.2.22-alt1.noarch
gnome-session-48.0-alt1.x86_64
kernel-image-6.12-6.12.42-alt1.x86_64

В sisyphus из-за https://bugzilla.altlinux.org/55655 потребовалось выполнить обход для https://bugzilla.altlinux.org/55646 (# apt-get install -y --reinstall xkeyboard-config && reboot).
Comment 6 Artem Varaksa 2025-08-19 13:45:52 MSK
Версия fish в p11 и sisyphus: fish-4.0.2-alt1.x86_64