假设 /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 的文本文件中。