
Итак, я только что столкнулся с интересной проблемой. В Arch Linux, если я создаю пользователя, который использует оболочку, из которой /usr/bin
он не может войти. Я создаю пользователя с помощью:
useradd -m -G wheel -s /usr/bin/bash username
и когда они пытаются войти, они получают 'Login Incorrect'. Но если я редактирую /etc/passwd
и меняю оболочку на /bin/bash
, все работает нормально.
Есть идеи, что здесь происходит? Спасибо!
решение1
КакArch Wiki ясно дает понять:
Предупреждение: Для того чтобы иметь возможность войти в систему, оболочка входа должна быть одной из перечисленных в /etc/shells, в противном случае модуль PAM pam_shell отклонит запрос на вход.В частности, не используйте путь /usr/bin/bash вместо /bin/bash., если только он не настроен должным образом в /etc/shells.
cat /etc/shells
#
# /etc/shells
#
/bin/sh
/bin/bash
решение2
Если bash
находится в /bin/bash
и /bin
и /usr/bin
не связаны друг с другом, то программа входа в систему не сможет запустить оболочку, если вы укажете неправильный путь к Bash.
Если двоичные файлы связаны между собой, то вам необходимо отредактировать файл, /etc/shells
включив оба варианта.