1台の古いサーバーのルートパスワードを失いました。通常のユーザーログインとwebminログインのみが可能です。 webminインターフェイス経由でコマンドを実行するオプションが1つありますが、次のことを試していますが失敗します:
> 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 root
(またはecho -e "newPassword\nnewPassword" | passwd root"
)の代わりにpasswd
を使用します。さらに、コマンドの最後にも予期しない「"
」があります。
line 0: unexpected EOF while looking for matching `"'
それは理にかなっている。バックスラッシュなしでコマンドラインに3つの引用符があるときはいつでも、あなたはトラブルを求めています。それらはペアで来ることになっています。
echo -e "newPassword\nnewPassword" | passwd root
それはちょっと不格好です。私はそれがうまくいくとは思わない。確かに私には向いていません。
これは少し良いですが、それでも悪いです:
usermod -p $(echo "newPassword" | openssl passwd -1 -stdin) root
更新:今日chpasswd
について学びました:
echo "root:password" | chpasswd