別の命名スキーマを使用して、システム上に新しいユーザーをいくつか作成したいと考えています。
- 古い:
firstname+initial of the second name
(例:johnk
) - 新しい:
firstname.surname
(例:john.kennedy
)
新しいユーザーのパスワードの変更に行き詰まっています。理想的には、ファイルからシャドウ パスワードを取得したいのですが、まだ BASH スクリプトを学習中であり、高度すぎると思うので、今のところ、古いユーザーと対応するシャドウ パスワードのリストを作成しました。新しいユーザーのパスワードを : で更新することを考えていました/usr/sbin/usermod $u -p "$HASH"
が、このコマンドで古いユーザーを新しいユーザーに一覧表示して一致させる方法がわかりません。
#!/usr/bin/env bash
OLD="
johnk="shadow_hash"
...
"
NEWUSERS="
john.kennedy
...
"
for u in $NEWUSERS; do
if [ -z "$(getent passwd $u)" ]; then
echo "User $u does NOT exist, creating..."
/usr/sbin/useradd $u
# /usr/sbin/usermod $u -p "$HASH"
else
echo "User $un DOES exist."
fi
done