Bashスクリプトからユーザーを作成する

Bashスクリプトからユーザーを作成する

ユーザーを自動的に追加するbashスクリプトを作成しています。私のパスワードには常にパターンがあるので、これを変数に設定します... (ここで詰まっている部分 - 暗号化 -)この投稿しかし、これは-stdin私が使用したくないものについて話します。また、パスワードを省略すると、パスワードの入力を求められます。それでは、ユーザー名のパスワードをどのように自動的に暗号化しますか?

私のスクリプト

#!/bin/bash
if [ $# -ne 1 ]
then
  echo "Usage: $0 <user>"
else
  p=${1%.*}
  p=$(echo $p | tr -d 'aeiou' | openssl passwd) $1
  useradd -p $p $1
fi

編集:CentOSのmkpasswdは、私がリンクした投稿で述べたように動作しないようです。

4.1.2(1)-releaseEDIT2: 重要な場合、bash バージョンはです。

ベストアンサー1

useraddとを使用してchpasswd自動的にユーザーを作成できます。例えば

useradd -c "Bob Smith" -m bob
echo "bob:mypassword" | chpasswd

プレーンテキストパスワードをスクリプトに表示したくない場合は、次の--encryptedフラグを使用してください。

echo "bob:encrypted_mypassword" | chpasswd --encrypted

おすすめ記事