Что сделал chsh, когда я набрал `chsh -s SHELL` и как вернуться к предыдущему SHELL?

1003
ariefbayu

Я по ошибке установил свою пользовательскую оболочку для входа в какой-то неизвестный каталог: ([1]. Теперь я не могу войти в систему этому пользователю. Каждый раз, когда я пытаюсь выполнить ssh, он всегда терпел неудачу, как будто я вводил неправильный пароль. Я пытаюсь войдите в систему, используя root и сделайте, su --shell=/bin/tcsh usernameи я получил

su: /path/to/shell/i/set/previously: permission denied 

Чтобы было понятно, /path/to/shell/i/set/previouslyукажите на какой-то каталог, а не на исполняемый файл оболочки. Я попытался изменить свою регистрационную оболочку /etc/passwdобратно безуспешно /bin/tcsh:(. Всегда получал ту же ошибку отказа в разрешении :(.

Теперь мне интересно, что сделал chsh, что не позволило мне войти в систему даже после того, как я изменил запись на /etc/passwd. Кроме того, как мне вернуть мою предыдущую оболочку ( /bin/tcsh)

Спасибо.

1

1 ответ на вопрос

1
Richard Hoskins

Войдите в систему как root и используйте:

chpass username 

Вы будете в буфере vi с пользовательскими настройками. Измените оболочку на / bin / tcsh, и Боб станет вашим дядей.

Что касается того, почему эти настройки фактически содержатся в /etc/master.passwd . / etc / passwd генерируется из этого файла. Прочитайте Прекрасное Руководство для большего количества.

Неизвестная команда «chpass» ... и как вы это сделаете, если вы изменили пользователя root? endolith 14 лет назад 0
@endolith Вы используете freebsd? Richard Hoskins 14 лет назад 0

Похожие вопросы