/etc/shadow ファイルに次のような内容があるとします。
root:!!:16087::::::
ftp:!!:14796::::::
/etc/passwd ファイルでは次のようになります:
ftp:x:40:49:FTP account:/srv/ftp:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
次のようにグループ化したいです:
ftp:!!:14796::::::x:40:49:FTP account:/srv/ftp:/sbin/nologin
root:!!:16087:::::::x:0:0:root:/root:/bin/bash
上記で行ったこと:
まず、両方のファイルからコマンド ユーザー名を見つけ、それらを 1 行に連結します。また、2 行目からユーザー名を削除します (これは開始時に既に存在するため、2 回必要ありません)。
簡単なコマンドは何でしょうか?
答え1
join
ユーティリティを使うこともできます
sudo bash -c 'join -t: <(sort -t: -k1,1 /etc/shadow) <(sort -t: -k1,1 /etc/passwd)'
答え2
John The Ripperパスワード復号ツールのunshadowツールを使用できます
これを行うには、まず John をシステムにインストールする必要があります。
これを行うには、ターミナルに移動して次のコマンドを入力します。
sudo apt-get install john
Johnをインストールした後、次のようにunshadowを使用します。
sudo unshadow /etc/passwd /etc/shadow > $HOME/pwd.txt
必要なデータは、ホーム フォルダー内の pwd.txt というテキスト ファイルにあります。