현재 버전의 Raspian에서는 다음과 같이 명령줄에서 현재 로그인한 사용자의 비밀번호를 변경할 수 있다는 것을 알고 있습니다.
sudo passwd
그러면 사용자에게 새 비밀번호를 두 번 묻는 메시지가 표시됩니다. 그러면 다음과 같은 출력이 생성됩니다.
Changing password for pi.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
예를 들어 쉘 스크립트를 통해 프로그래밍 방식으로 비밀번호를 변경할 수 있는지 알고 싶습니다.
내 Raspberry Pis에 배포할 구성 스크립트를 만들려고 하는데 새 비밀번호를 수동으로 입력하고 싶지 않습니다.
답변1
당신은 명령을 찾고 있습니다 chpasswd
. 당신은 다음과 같은 일을 할 것입니다 :
echo 'pi:newpassword' | chpasswd # change user pi password to newpassword
최소한 기본 PAM 구성을 사용하여 루트로 실행해야 합니다. 그러나 시스템 배포 스크립트의 경우 루트로 실행하는 것은 문제가 되지 않을 수 있습니다.
또한 여러 줄의 입력을 제공하여 여러 사용자를 동시에 처리할 수 있습니다.
답변2
yes
또 다른 옵션은 스크립트에서 명령을 사용하는 것입니다.
yes newpassword | passwd youruser
이는 명령 newpassword
으로 전송됩니다 .passwd
youruser
스크립트를 통해 사용자 비밀번호를 설정/수정하는 것은 보안 위험을 초래할 수 있으므로 가능하면 피해야 한다는 점을 언급해야 합니다.
편집하다:
이 답변에는 루트 액세스가 필요합니다. 이 점을 미리 언급하지 못해 죄송합니다. 이것이 루트 액세스가 필요한 관리 작업을 수행할 때 사용하는 방법입니다.
답변3
@derobert의 답변은 정확하지만 다음과 같이 슈퍼유저로 명령을 실행해야 합니다.
echo 'pi:newpassword' | sudo chpasswd # change user pi password to newpassword
sudo
뒷면에 주의하세요 |
. sudo
에서만 작동하기 때문에 처음에는 도움이 되지 않습니다.echo