テストのためNISユーザを一括でたくさん作成する。
| 登録日 | :2024/08/04 17:16 |
|---|---|
| カテゴリ | :Linux |
bashスクリプトでNISユーザをたくさん作成したかったので、サンプルコードを作成しました。
#!/bin/bash
# 基本のパスワード
BASE_PASSWORD="test@12345"
# ユーザー作成とパスワード設定の関数
create_user() {
local username=$1
local password=$2
sudo useradd ${username} && echo "${username}:${password}" | sudo chpasswd
if [ $? -eq 0 ]; then
echo "ユーザー ${username} を作成しました。"
else
echo "ユーザー ${username} の作成に失敗しました。"
fi
}
# n1001からn1100までのユーザーを作成
for i in {1001..1100}
do
ADD_USER="n${i}"
ADD_PASSWORD="${BASE_PASSWORD}"
create_user ${ADD_USER} ${ADD_PASSWORD}
done
# NISマップの更新
cd /var/yp && sudo make
echo "すべてのユーザーの作成が完了し、NISマップを更新しました。"
これを実行すると以下のようになります。
[root@nis1 makeuser]# ./create_user
ユーザー n1001 を作成しました。
ユーザー n1002 を作成しました。
ユーザー n1003 を作成しました。
・・・
ユーザー n1094 を作成しました。
ユーザー n1095 を作成しました。
ユーザー n1096 を作成しました。
ユーザー n1097 を作成しました。
ユーザー n1098 を作成しました。
ユーザー n1099 を作成しました。
ユーザー n1100 を作成しました。
gmake[1]: ディレクトリ '/var/yp/example.nis1' に入ります
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating netid.byname...
gmake[1]: ディレクトリ '/var/yp/example.nis1' から出ます
すべてのユーザーの作成が完了し、NISマップを更新しました。
[root@nis1 makeuser]#
[root@nis1 makeuser]#