Supongamos que tengo contenido en el archivo /etc/shadow como este:
root:!!:16087::::::
ftp:!!:14796::::::
y en un archivo /etc/passwd como este:
ftp:x:40:49:FTP account:/srv/ftp:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
Quiero agruparlos como:
ftp:!!:14796::::::x:40:49:FTP account:/srv/ftp:/sbin/nologin
root:!!:16087:::::::x:0:0:root:/root:/bin/bash
Lo que hice arriba:
Primero busqué el nombre de usuario del comando en ambos archivos y luego los concatené en una sola línea. Además, estoy eliminando el nombre de usuario de la segunda línea (como ya está presente al inicio, no es necesario 2 veces).
¿Cuál será el comando simple?
Respuesta1
Podrías usar la join
utilidad
sudo bash -c 'join -t: <(sort -t: -k1,1 /etc/shadow) <(sort -t: -k1,1 /etc/passwd)'
Respuesta2
Puede utilizar la herramienta Unshadow en la herramienta de descifrado de contraseñas de John The Ripper.
Para hacer esto, primero debe instalar John en su sistema.
Para hacer esto, vaya a su terminal y escriba el siguiente comando.
sudo apt-get install john
Después de instalar John, use unshadow de la siguiente manera:
sudo unshadow /etc/passwd /etc/shadow > $HOME/pwd.txt
Los datos que necesita estarán en un archivo de texto llamado pwd.txt en su carpeta de inicio.