после того, как я попытался изменить оболочку сервера, я больше не могу войти в систему как root.
Сначала я установил z-shell (zsh) как root, а затем я хотел изменить его на свою оболочку по умолчанию. Поэтому я использовал «чш». Моя вина заключалась в том, что я ввел неверный путь. После выхода из системы и нового входа через Putty я получил сообщение «Доступ запрещен».
Это было предсказуемо, когда пути к оболочке не существует. Итак, я вошел в свою панель управления и изменил файл / etc / passwd через файловый менеджер: я исправил неправильную последнюю часть первой строки - пользователя root:
корень: x: 0: 0: корень: / корень: / usr / bin / zsh
Даже если я заменю его на старую оболочку / bin / bash или / bin / sh, это не сработает. Я прочитал, что passwd и shadow не являются живыми файлами, поэтому я перезапустил сервер, но все еще та же проблема
Есть идеи, что еще я мог сделать?
ОС: Debian 5 + Parallels Plesk 11
vipw
отредактировать / etc / passwd, и vipw -s
отредактировать / etc / shadow.Если вы все еще не можете исправить это самостоятельно, обратитесь к своему хостинг-провайдеру. Они либо узнают, как это исправить в течение 10 минут, либо вам следует найти более подходящего хозяина.
Ответ для меня пришел от Вот
Оказалось, я был небрежен, когда пытался chsh
моя оболочка:
grep peter /etc/passwd
peter:1001:1001::/home/peter:/bin/nash
"nash", очевидно, должно было быть "bash"
Решением было вернуть его обратно с помощью usermod:
sudo usermod --shell /bin/bash peter
Тогда я снова смогу войти по ssh.
Я нашел решение на другом форуме. Этот подход может помочь всем людям с одной и той же проблемой:
Мой провайдер изменил пароль root и попробовал выполнить команду «chsh -s / bin / bash root», которая не сработала, потому что пароль не был принят, и произошла следующая ошибка: «chsh: PAM authentication failed».
dave_mystic дал решение:
Настоящая проблема находится в /etc/pam.d/chsh. В этом файле строка, которая не позволяет пользователям вернуться к нормальной оболочке после назначения специальной оболочки, появляется перед строкой, которая разрешает все изменения из корня.
К сожалению, следующая строка запускалась первой, запрещая изменение, потому что пользовательская оболочка НЕ была в списке доступных оболочек. Строка авторизации от меня как root через sudo никогда не запускалась, потому что она никогда не проверялась после запуска первой строки.
требуется авторизация pam_shells.so
Решением было временно закомментировать строку в /etc/pam.d/chsh, изменить оболочку пользователя на правильную оболочку, а затем удалить комментарий в строке.
Источник: http://ubuntuforums.org/showthread.php?t=1702833
Поэтому я закомментировал указанную строку, и после этого я смог изменить оболочку.