/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라는 텍스트 파일에 있습니다.

관련 정보