私が作成する必要があるシェルスクリプトは、新しいユーザーを作成し、それらを自動的にグループに割り当てる必要があります。これはこれまでのところ私のコードです:
echo -n "Enter the username: "
read text
useradd $text
新しいユーザーを追加するためのシェルスクリプトを取得できました(/etc/passwd
エントリ)。しかし、私は試しましたが、以前に新しく作成したユーザーに(ユーザーが入力した)パスワードを取得できません。新しく作成したユーザーにパスワードを割り当てるのを手伝ってくれる人がいれば、それは非常に役に立ちます。
「man 1 passwd」からの出力:
--stdin
This option is used to indicate that passwd should read the new
password from standard input, which can be a pipe.
したがって、質問に答えるには、次のスクリプトを使用します。
echo -n "Enter the username: "
read username
echo -n "Enter the password: "
read -s password
adduser "$username"
echo "$password" | passwd "$username" --stdin
read -s
はパスワードなので、入力時に表示されません。
編集: Debian/Ubuntuユーザーの場合-stdin
は機能しません。 passwd
の代わりにchpasswd
を使用:
echo $username:$password | chpasswd
#!/bin/bash
echo "Enter username: "
read username
useradd "$username"
echo "temp4now" | passwd --stdin "$username"
chage -d 0 "$username"