私はLinux From Scratch Live 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