web-dev-qa-db-ja.com

シェルスクリプトを使用してLinuxにユーザーを追加する方法

私が作成する必要があるシェルスクリプトは、新しいユーザーを作成し、それらを自動的にグループに割り当てる必要があります。これはこれまでのところ私のコードです:

echo -n "Enter the username: "
read text
useradd $text

新しいユーザーを追加するためのシェルスクリプトを取得できました(/etc/passwdエントリ)。しかし、私は試しましたが、以前に新しく作成したユーザーに(ユーザーが入力した)パスワードを取得できません。新しく作成したユーザーにパスワードを割り当てるのを手伝ってくれる人がいれば、それは非常に役に立ちます。

3
Tech Check

「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
4
Tem
#!/bin/bash
echo "Enter username: "
read username
useradd "$username"
echo "temp4now" | passwd --stdin "$username"
chage -d 0 "$username"
0
meera