я хочу изменить оболочку env по умолчанию
и беги chsh -s /bin/zsh
как пользователь root,
но появилось сообщение об ошибке: chsh: PAM authentication failed
.
я нахожу эту тему http://ubuntuforums.org/showthread.php?t=1702833
но ответ не решил мою проблему
любая помощь будет оценена
это содержимое /etc/pam.d/chsh
#
# The PAM configuration file for the Shadow `chsh' service
#
# This will not allow a user to change their shell unless
# their current one is listed in /etc/shells. This keeps
# accounts with special shells from changing them.
auth required pam_shells.so
# This allows root to change user shell without being
# prompted for a password
auth sufficient pam_rootok.so
# The standard Unix authentication modules, used with
# NIS (man nsswitch) as well as normal /etc/passwd and
# /etc/shadow entries.
@include common-auth
@include common-account
@include common-session
это содержимое / etc / shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/tmux
/usr/bin/screen
/bin/zsh
/usr/bin/zsh
Я обнаружил, что раньше бегал chsh -s zsh
это изменит первую строку /etc/passwd
так как
root:x:0:0:root:/root:zsh
и chsh
будет запрашивать пароль, как бы вы ни пытались
я просто редактирую /etc/passwd
файл вручную, и все в порядке.
глупая ошибка и спасибо за ваши ответы
Проверьте свой файл / etc / shells и добавьте в него / bin / zsh, если эта строка не существует.
Проверьте свои /etc/passwd
. В моем случае я указал недопустимую оболочку с помощью chsh
ранее, и это было причиной проблемы.
Я изменил это с zsh
как оболочка для /bin/zsh
и это избавило меня от проблемы.
Вы должны запустить свой код как sudo:
sudo chsh -s /bin/zsh
У меня тоже была такая же проблема, и это сработало!
Похоже, ты ошибаешься. Чтобы проверить это:
[nick ~]$ which zsh
/usr/bin/zsh
Если результатом является / usr / bin / zch, это должно помочь:
[nick ~]$ chsh -s /usr/bin/zsh
* редактировать на предмет опечатки.
Я столкнулся с той же проблемой. всякий раз, когда я набирал чш он используется для подсказки
chsh: PAM authentication failed
Но я решил это, сделав некоторые изменения в /etc/passwd
файл
Users of kali-linux
просто откройте свой корневой терминал и измените /etc/passwd
файл, вы можете использовать редактор pico, nano или vi для этой работы, я собираюсь vi
vi /etc/passwd
затем найдите учетную запись пользователя. и измените оболочки на желаемую оболочку, убедитесь, что нужная оболочка установлена в ваших дистрибутивах Linux, чтобы новый пользователь увидел, какие оболочки присутствуют в их Linux, просто введите
cat /etc/shells
он перечисляет их там. Если вы вообще установили оболочку, и вы не можете увидеть ее в /etc/shell
вам нужно создать ссылку и указать путь оболочки, скажем, предположим /bin/ksh
в /etc/shells
файл вручную ...
например, вы находитесь в bash и хотите изменить его на ksh
просто зайдите в аккаунт в /etc/passwd
файл и в последнем поле редактировать
/bin/bash
к /bin/ksh
или /bin/ksh93
(как в вашем cat /etc/shells
)
просто выйдите из системы и войдите в систему, и все готово ...
для пользователей других дистрибутивов (скажем) ubuntu
введите
sudo -H gnome-terminal
(чтобы получить корневой терминал)
и процесс такой же, как и выше, поскольку у вас тоже есть корневой терминал, такой как пользователь kali-linux ..