chroot에서 비밀번호를 변경하는 Bash 스크립트

chroot에서 비밀번호를 변경하는 Bash 스크립트

나는 Linux From Scratch 라이브 CD를 만들고 이에 대한 설치 프로그램 스크립트를 작성했습니다. 이 스크립트에는 사용자로부터 사용자 이름과 비밀번호를 얻고 사용자를 생성하는 단계가 있습니다. 마운트된 파일 시스템은 다음에 마운트됩니다. /mnt사용자 이름은 다음에 저장됩니다. $USER비밀번호는 다음에 저장됩니다.$PASS

내가 사용하는 사용자를 생성하려면

chroot /mnt useradd $USER -s /bin/bash -m

내가 사용하는 비밀번호를 변경하려면

chroot /mnt echo "$USER:$PASS"|chpasswd

그러나 마운트된 파일 시스템으로 부팅할 때 사용자가 생성되었지만 암호가 할당되지 않은 것을 발견했습니다. 내가 뭘 잘못했나요?

답변1

이 시도. 다음 상황을 피하십시오chroot /mnt echo "$USER:$PASS"|chpasswdchroot에서 실행 중인 echo 및 chpasswd로 인해 실패했습니다.외부chroot.

echo "$USER:$PASS" >/mnt/foo
chroot /mnt 'chpasswd </foo'
rm /mnt/foo

관련 정보