Bashを使用したパスワードでユーザーを作成する[閉じる]

Bashを使用したパスワードでユーザーを作成する[閉じる]
username=$1
pass=$2
shift
shift
fname=$*
username=$(useradd -m -s /bin/bash -c "$fname" $username)
newpass=$(openssl passwd -1 -salt -stdin $pass)

だからこれはうまくいきます。ログインしようとするとログインできないということです。私の人生では、何が間違っているのか理解していません。次の構文を試してみました。

newPass=($username:$pass | chpasswd -c SHA512)

ベストアンサー1

必ずこれを行う必要がある場合は、動作するスクリプトは次のとおりです。

#!/bin/bash
#
username="$1"
pass="$2"
shift 2
fname="$*"

useradd -m -s /bin/bash -c "$fname" "$username"
echo "$username:$pass" | chpasswd

ここで、プレーンテキストパスワードは$passコマンドによって暗号化されます。デフォルトではPAMを使用して暗号化を実行するため、ターゲットシステムに「最適」です。/etc/shadowchpasswd

おすすめ記事