Script Bash para alterar a senha no chroot

1

Eu construí um CD live do Linux From Scratch e escrevi um script de instalação para ele. Há uma etapa nesse script na qual eu pego um nome de usuário e uma senha do usuário e cria um usuário. O sistema de arquivos instalado é montado em /mnt O nome de usuário é armazenado em $USER e a senha em $PASS

Para criar o usuário, eu uso

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

Para alterar a senha, eu uso

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

Mas quando inicializo o sistema de arquivos instalado, percebo que o usuário foi criado, mas nenhuma senha foi atribuída. Onde estou fazendo errado?

    
por Aniket Bhattacharyea 27.03.2016 / 10:19

1 resposta

1

Tente isso. Evita a situação em que o chroot / mnt echo "$ USER: $ PASS" | chpasswd está falhando devido ao eco sendo executado dentro do chroot e o chpasswd executando fora do chroot. / p>

echo "$USER:$PASS" >/mnt/foo
chroot /mnt 'chpasswd </foo'
rm /mnt/foo
    
por 27.03.2016 / 10:29