Я потерял пароль root от одного старого сервера, на котором я могу получить только обычную регистрацию пользователя и вход через webmin. Через интерфейс webmin у меня есть одна возможность выполнить команду, я пробовал следующее, но это не удалось:
> echo -e "newPassword\nnewPassword" | passwd root"
bash: -c: line 0: unexpected EOF while looking for matching `"'
bash: -c: line 1: syntax error: unexpected end of file
> whoami
root
через webmin, я вижу, что вошел как root
Используйте passwd
вместо passwd root
(или echo -e "newPassword\nnewPassword" | passwd root"
). Более того, у вашей команды в конце тоже неожиданный '"
'.
line 0: unexpected EOF while looking for matching `"'
Это имеет смысл. Каждый раз, когда у вас есть три кавычки в командной строке без обратной косой черты, вы напрашиваетесь на неприятности. Эти вещи должны прийти парами.
echo -e "newPassword\nnewPassword" | passwd root
Это немного неуклюже. Я не думаю, что это может сработать. Это, конечно, не для меня.
Это немного лучше, но все еще плохо:
usermod -p $(echo "newPassword" | openssl passwd -1 -stdin) root
Обновление: узнал о chpasswd
сегодня:
echo "root:password" | chpasswd