ユーザーの追加方法です。
利用OS
$ cat /etc/almalinux-release
AlmaLinux release 9.5 (Teal Serval)
$ uname -r
5.14.0-503.15.1.el9_5.x86_64
ユーザーの追加
# useradd tstusr01 --uid 5001 --groups wheel
初回ログイン時にパスワードの設定を求めるようにする
# passwd tstusr01
Changing password for user tstusr01.
New password:xxxx ・・・ 仮のパスワードを設定する
Retype new password:xxxx
passwd: all authentication tokens updated successfully.
# passwd --expire tstusr01 ・・・ パスワードを期限切れにする
Expiring password for user tstusr01.
passwd: Success
初回ログインを想定してsshで接続して、パスワードの設定を要求されるかを見ます。
# ssh tstusr01@localhost
tstusr01@localhost's password:xxxx ・・・ 仮のパスワードを入力する
You are required to change your password immediately (administrator enforced).
You are required to change your password immediately (administrator enforced).
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Sun Dec 8 20:48:23 2024 from ::1
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user tstusr01.
Current password:xxxx ・・・ 仮のパスワードを入力する
New password:yyyy ・・・ 新しいパスワードを設定する
Retype new password:yyyy
passwd: all authentication tokens updated successfully.
Connection to localhost closed.
ユーザー追加のシェルスクリプト
ユーザーを追加するときのシェルスクリプトを用意しておけば楽チンです。
# vi makeuser_list.txt ・・・ 作成するユーザーのリストを用意する
# NAME:PASSWORD:UID:COMMENT:SUBGROUP
tstusr01:tstusr01:5001:testuser01:wheel
tstusr02:tstusr02:5002:testuser02:wheel
# vi makeuser.sh ・・・ シェルスクリプトの作成
#!/bin/bash
#set -x
USERLIST=./makeuser_list.txt
if [[ ! -f ${USERLIST} ]]; then
echo "${USERLIST} no such file or directory"
exit 1
fi
cat ${USERLIST} | sed '/^$/d'| grep -v \^# | while read LINE
do
NAME="`echo ${LINE} | cut -d ":" -f1`"
PASSWORD="`echo ${LINE} | cut -d ":" -f2`"
USERID="`echo ${LINE} | cut -d ":" -f3`"
COMMENT="`echo ${LINE} | cut -d ":" -f4`"
SUBGROUPS="`echo ${LINE} | cut -d ":" -f5`"
if [[ ${SUBGROUPS} = "" ]]; then
useradd ${NAME} --uid ${USERID} -c "${COMMENT}" || continue
else
useradd ${NAME} --uid ${USERID} -c "${COMMENT}" --groups ${SUBGROUPS} || continue
fi
echo ${NAME}:${PASSWORD} | chpasswd
echo "Makeing ${NAME} succeeded."
passwd -e ${NAME}
done
作成したファイルのパーミッションも変更しておきます。
# chmod 744 makeuser.sh
# chmod 666 makeuser_list.txt
# ls -l
total 8
-rwxr--r--. 1 root root 724 Dec 8 21:02 makeuser.sh
-rw-rw-rw-. 1 root root 117 Dec 8 17:41 makeuser_list.txt
試しに実行して見ます。
# ./makeuser.sh
Makeing tstusr01 succeeded.
Expiring password for user tstusr01.
passwd: Success
Makeing tstusr02 succeeded.
Expiring password for user tstusr02.
passwd: Success