如何以使用者名稱將 /etc/passwd 和 /etc/shadow 檔案內容分組到新檔案中?

如何以使用者名稱將 /etc/passwd 和 /etc/shadow 檔案內容分組到新檔案中?

假設我在 /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

您可以使用該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 的文字檔案中。

相關內容