비밀번호를 두 번 입력하지 않고 어떻게 업데이트할 수 있나요?

비밀번호를 두 번 입력하지 않고 어떻게 업데이트할 수 있나요?

실제로 고정 키보드(호스트, RDP, vCenter, 가상 콘솔)가 있지만 구축 중인 VM의 비밀번호를 업데이트해야 합니다.

CentOS 미디어에서 제공하는 복구 환경을 이용하면 chroot설치된 시스템으로 가서 실행할 수 passwd있는데, 비밀번호를 한 번 입력하면 부득이하게 비밀번호 토큰 불일치 오류가 발생합니다. (때때로 명령줄에 "passwd"를 입력하면 "passsswwdddd" 또는 이와 유사한 내용이 에코됩니다.)

루트 비밀번호를 두 번 입력하지 않고 어떻게 업데이트할 수 있나요?

비밀번호를 모르기 때문에 ssh를 할 수 없습니다(이렇게 하면 끈적거리는 키보드 문제가 해결됩니다). 따라서 복구 환경과 chroot.

답변1

대화형 프롬프트를 사용해야 하는 경우 스크립트에서 다음 트릭을 사용합니다.

yourpass='My supersecret password'
$(echo $yourpass; echo $yourpass) | passwd username

기본적으로 변수에 비밀번호를 할당하고 다음 명령에서 사용합니다.

답변2

다음과 같은 형식을 사용할 수 있습니다.

# echo "Th3P@ssw0rd" | passwd --stdin theUser

바이너리 버전이 passwd--stdin옵션을 지원한다고 가정합니다.

답변3

Mark Plotnick의 의견에 따르면,

vi passfile
usermod -p `openssl passwd stdin < passfile` root
rm -f passfile

이를 통해 임시 파일을 편집하고 실제로 생각하는 비밀번호로 설정했는지 확인할 수 있습니다. 또한 기록 등으로부터 비밀번호를 보호합니다.

답변4

이 시도:

# echo 'root:PASSWORD' | chpasswd

PASSWORD를 원하는 비밀번호로 바꾸세요. Suse Linux에서는 잘 작동합니다.

관련 정보