프로그래밍 방식으로 비밀번호 변경 로그인 한 사용자의 비밀번호를 변경할 수

현재 Raspian 버전에서는 다음과 같이 명령 행에서 현재 로그인 한 사용자의 비밀번호를 변경할 수 있음을 알고 있습니다.

sudo passwd

그런 다음 사용자에게 새 비밀번호를 두 번 입력하라는 메시지가 표시됩니다. 다음과 같이 출력이 생성됩니다.

Changing password for pi.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

쉘 스크립트와 같이 프로그래밍 방식으로 암호를 변경할 수있는 방법이 있는지 궁금합니다.

Raspberry Pis에 배포하기 위해 구성 스크립트를 만들려고하는데 수동으로 새 암호를 입력하고 싶지 않습니다.



답변

당신은 chpasswd명령을 찾고 있습니다. 당신은 이런 식으로 할 것입니다 :

echo 'pi:newpassword' | chpasswd # change user pi password to newpassword

최소한 기본 PAM 구성에서는 루트로 실행해야합니다. 그러나 아마도 루트로 실행하는 것은 시스템 배포 스크립트의 문제가 아닙니다.

또한 여러 줄의 입력을 공급하여 한 번에 여러 사용자를 수행 할 수 있습니다.


답변

다른 대안은 yes스크립트 에서 명령 을 사용하는 것 입니다.

yes newpassword | passwd youruser

newpassword에 대한 passwd명령 이 전송 됩니다 youruser.

스크립트를 통해 사용자 비밀번호를 설정 / 수정하면 보안 위험이 발생할 수 있으므로 가능하면 피해야합니다.

편집하다:

이 답변에는 루트 액세스 권한이 필요합니다. 이전에 언급하지 않은 것에 대해 사과드립니다. 루트 액세스가 필요한 관리 작업을 수행 할 때 사용하는 방법입니다.


답변