はじめに
ローカルユーザーとグループの管理は、Linux 管理者が最初に習得すべき ID 管理タスクの一つです。RHCSA スタイルの実務では、アカウント情報の確認、ユーザーやグループの作成、グループメンバーシップの調整、アカウントメタデータの変更、そして一時アカウントの安全な削除が求められます。
この実験では、rhcsauser、rhcsaops、rhcsaaudit という一時的なローカル ID のみを作成します。labex アカウント、SSH 設定、パスワード、ログインアクセスなどは変更しません。最後のステップでは、システムをクリーンな状態に戻すために、作成した一時ユーザーと一時グループを削除します。
既存のローカル ID レコードの確認
このステップでは、新しい ID を作成する前に、既存のローカル ID レコードを確認します。getent は設定されたネームサービスデータベースを照会するため、ローカルファイルやその他の ID ソースに対しても機能します。id コマンドは、ユーザーの数値 ID とグループメンバーシップを表示します。
標準の LabEx プロジェクトディレクトリに移動します。
cd /home/labex/project
既存の labex アカウントレコードを確認します。
getent passwd labex
出力はコロンで区切られています。最初のフィールドはログイン名で、その後のフィールドには数値の UID、プライマリ GID、ホームディレクトリ、ログインシェルが含まれます。
labex の現在のグループメンバーシップを確認します。
id labex
labex の現在のプライマリグループレコードを確認します。
getent group labex
これらのコマンドは読み取り専用です。これらは、練習用の一時 ID を作成する前のベースラインとなります。
ローカルグループとユーザーの作成
このステップでは、ローカルグループとローカルユーザーを作成します。先にグループを作成しておくことで、アカウント作成時にそのグループをユーザーのプライマリグループとして割り当てることができます。
練習用ユーザーのプライマリグループを作成します。
sudo groupadd rhcsaops
ホームディレクトリを持ち、ログインシェルとして Bash を使用し、プライマリグループを rhcsaops に設定した rhcsauser を作成します。useradd において、-m はホームディレクトリの作成、-g はプライマリグループの設定、-s はログインシェルの設定を行います。
sudo useradd -m -g rhcsaops -s /bin/bash rhcsauser
新しいアカウントレコードを確認します。
getent passwd rhcsauser
新しいユーザーの ID とグループメンバーシップを確認します。
id rhcsauser
useradd -m によって作成されたホームディレクトリをリスト表示します。
sudo ls -ld /home/rhcsauser
補助グループの追加
このステップでは、補助グループを追加します。ユーザーはプライマリグループを一つ持ちますが、共有アクセス権を得るために追加のグループに所属することも可能です。
rhcsaaudit という名前の二つ目のグループを作成します。
sudo groupadd rhcsaaudit
rhcsauser を補助グループ rhcsaaudit に追加します。-aG オプションは、補助グループリストへの追加を意味します。既存の補助グループを誤って置き換えないよう、必ず -a を -G と併用してください。
sudo usermod -aG rhcsaaudit rhcsauser
ユーザーのグループを確認します。
id rhcsauser
監査グループのレコードを確認します。グループの行にメンバーとして rhcsauser が表示されているはずです。
getent group rhcsaaudit
アカウントメタデータの変更
このステップでは、パスワードの状態を変更せずにアカウントのメタデータを変更します。パスワードの有効期限やアカウントロックについては後述するため、ここではコメントフィールドとログインシェルの変更に焦点を当てます。
練習用ユーザーに説明用のコメントを設定します。-c オプションは GECOS/コメントフィールドを更新します。
sudo usermod -c "RHCSA Practice User" rhcsauser
ログインシェルを /bin/sh に変更します。-s オプションはアカウントレコードのシェルフィールドを更新します。
sudo usermod -s /bin/sh rhcsauser
更新されたアカウントレコードを確認します。
getent passwd rhcsauser
chage -l を使用して、パスワードの有効期限の詳細のみを確認します。この実験ではパスワードの有効期限は変更しないでください(次のガイド付き実験で扱います)。
sudo chage -l rhcsauser
一時的なローカル ID の削除
このステップでは、一時ユーザーと一時グループを削除します。使用されていないアカウントやグループをシステムに残さないことは ID 管理の一部であり、クリーンアップは重要な作業です。
練習用ユーザーとそのホームディレクトリを削除します。-r オプションは、サポートされている環境においてユーザーのホームディレクトリとメールスプールを削除します。
sudo userdel -r rhcsauser
補助グループである監査グループを削除します。
sudo groupdel rhcsaaudit
ユーザーが削除されたことを確認します。getent はレコードが存在しない場合にゼロ以外の値を返すため、&& echo を使用することで、検索が期待通りに失敗した場合のみメッセージが表示されます。
getent passwd rhcsauser >/dev/null || echo "rhcsauser removed"
監査グループが削除されたことを確認します。
getent group rhcsaaudit >/dev/null || echo "rhcsaaudit removed"
rhcsaops は確認用にそのまま残しておきます。これは現在、空のローカルグループとなっています。
getent group rhcsaops
まとめ
RHCSA 試験対策として、ローカルユーザーとグループの管理を練習しました。既存の ID レコードの確認、プライマリグループとローカルユーザーの作成、補助グループの追加、アカウントメタデータの変更、パスワード有効期限情報の確認(変更なし)、そして一時的な ID の安全な削除を行いました。



