/etc/shadowでユーザーのパスワードを変更してください。

/etc/shadowでユーザーのパスワードを変更してください。

ユーザーのパスワードを変更したいです/etc/shadow。私できないパスワードチェンジャー(例:passwd.)は編集で行う必要があります/etc/shadow。ファイルは/etc/shadowマウントされたハードドライブにあり、chrootは機能しません。

たとえば、

root:$asdf.1AH.MJ3sivd4$YFoFnasdf4cZW9H6G6cbT4.1VBmasdfmv.a0wCU/i3zEFasdfasdf4W.:15843:0:99999:7:::
otheruser:$asdf.1AH.MJ3sivd4$YFoFnasdf4cZW9H6G6cbT4.1VBmasdfmv.a0wCU/i3zEFasdfasdf4W.:15843:0:99999:7:::

誰かがルートのパスワードを変更するシェルスクリプトを提供できますかsedawk

答え1

空のパスワードが問題にならない場合は、最も簡単な解決策は/etc/passwd代わりにファイルを変更することです/etc/shadow

このファイルの例行は/etc/passwd次のとおりです。

root:x:0:0:root:/root:/bin/bash

この行の「x」は、パスワードが実際にシャドウファイルにハッシュされた形式で保存されることを意味します。あなたができることの1つは、次のように削除することです。

root::0:0:root:/root:/bin/bash

rootその後、実際にはユーザー名と空のパスワードを使用してログインできます。

root ユーザーのパスワードを空白のままにしたくない場合は、root パスワードを削除して root ユーザーに変更します。

user@machine$ su root
password: [blank]

次に、次のコマンドを実行してルートパスワードを変更します。

root@machine# passwd
New password: [desired password]
Retype new password: [desired password]

これでルートパスワードがわかりました。

答え2

mkpasswdツールを使用してこれを実行できます。 Cyber​​citi.bizには、次のタイトルで使用する方法の良い紹介ガイドがあります。Linux/UNIX: mkpasswd を使用して任意のパスワードを生成する

はい

mkpasswd --char=10 --crypt-md5

パッケージは通常呼び出されますが、makepasswdツールは通常呼び出されますmkpasswd

よりマニュアルページ詳細については。

/etc/shadow直接コンテンツの生成

次のpythonコマンドはファイルに入る部分を作成します/etc/shadow

Python

$ python -c "import crypt, getpass, pwd; \
         print crypt.crypt('password', '\$6\$SALTsalt\$')"

真珠

$ perl -e 'print crypt("password","\$6\$saltsalt\$") . "\n"'

次の出力を生成します。

$6$SALTsalt$UiZikbV3VeeBPsg8./Q5DAfq9aj7CVZMDU6ffBiBLgUEpxv7LMXKbcZ9JSZnYDrZQftdG319XkbLVMvWcF/Vr/

/etc/shadow 変更

以下は、上記のコマンドで新しく作成されたパスワードフィールドを使用して既存のエントリを変更するコマンドです。

perl -pe 's|(root):(\$.*?:)|\1:\$6\$SALTsalt\$UiZikbV3VeeBPsg8./Q5DAfq9aj7CVZMDU6ffBiBLgUEpxv7LMXKbcZ9JSZnYDrZQftdG319XkbLVMvWcF/Vr/:|' /etc/shadow > /etc/shadow.new

メモ:これは粗雑な例ですが、うまくいきます。ハッシュされたパスワードを生成したコマンドから結果を取得し、ドル記号($)をスラッシュ(\ $)にエスケープする必要があります。

結果は新しいファイル /etc/shadow.new に保存されます。結果を確認したら、/etc/shadow新しいファイルに置き換えてください/etc/shadow.new

答え3

/etc/shadowからすべてのユーザーパスワードを削除し、システムを起動し、パスワードなしでログインしてからpasswdコマンドを使用します。可能であれば、完了するまでシステムをネットワークに接続しないでください。

関連情報