BusyBox 및 OpenSSL이있는 스크립트에서 사용자 비밀번호를 어떻게 변경합니까?

StackOverflow https://stackoverflow.com/questions/2059069

문제

시스템의 외부 소스에 사용자 계정과 비밀번호를 동기화해야합니다. BusyBox 그리고 OpenSSL 설치. 외부 소스가 내 시스템에 자격 증명을 업데이트하도록 지시하면 스크립트에서 사용자의 암호를 어떻게 변경합니까? 평범한 텍스트로 비밀번호가 있습니다.

이것은 자동화되어야하며, BusyBox Passwd가 대화식이라고 말할 수있는 내용에서 가능하다면 Passwd에 대한 기대 유형 스크립트를 작성하고 싶지 않습니다. OpenSSL이 암호 해시를 생성 할 수있는 것처럼 보입니다 (OpenSSL Passwd -1 -Salt "abcdefgh"{password}), 그러나 /etc /shadow를 직접 수정해야합니까?

BusyBox가 있습니다 이것들 사용 가능한 명령.

도움이 되었습니까?

해결책

암호를 업데이트하기 위해 이와 같은 작은 스크립트를 작성할 수 있습니다. 다음 텍스트를 파일에 넣고 실행하십시오. 비밀번호를 변경합니다.

#!/bin/sh
Passwd << eof
u003Cold password>
u003Cnew password>
u003Cnew password>
EOF

다른 팁

BusyBox의 현재 버전은 chpasswd (소스 코드). CHPRASSWD는 Stdin에서 콜론 지정 페어 사용자 이름 : Password를 취합니다. 내 시스템에서 Busybox를 업데이트 할 수 있는지 여부는 모르겠지만 다른 사람이보고있는 경우이 답변을 남겨 둘 것입니다.

BusyBox 문서에서 :

chpasswd
chpasswd [--md5|--encrypted]

Read user:password from stdin and update /etc/passwd

Options:

        -e,--encrypted  Supplied passwords are in encrypted form
        -m,--md5        Use MD5 encryption instead of DES
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top