RHEL 7でユーザーとグループを管理する方法 – パート3

RHEL 7サーバーを管理する場合、他のどのLinuxサーバーと同様に、ユーザーアカウントを追加、編集、一時停止、または削除し、ユーザーが割り当てられたタスクを実行するために必要なファイル、ディレクトリ、および他のシステムリソースへのユーザーの権限を付与する方法を知っている必要があります。

RHCSA: User and Group Management – Part 3

ユーザーアカウントの管理

RHEL 7サーバーに新しいユーザーアカウントを追加するには、次の2つのコマンドのいずれかをrootとして実行できます。

# adduser [new_account]
# useradd [new_account]

新しいユーザーアカウントが追加されると、デフォルトで次の操作が実行されます。

  1. ホームディレクトリが作成されます(指定されていない場合は/home/username)。
  2. これらの.bash_logout.bash_profile、および.bashrcの隠しファイルがユーザーのホームディレクトリ内にコピーされ、彼/彼女のユーザーセッションの環境変数を提供するために使用されます。詳細については、それぞれを探索できます。
  3. A mail spool directory is created for the added user account.
  4. A group is created with the same name as the new user account.

完全なアカウントの概要は、/etc/passwdファイルに格納されます。このファイルには、システムユーザーアカウントごとに1つのレコードが含まれ、次の形式で構成されています(フィールドはコロンで区切られています):

[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]
  1. これらの2つのフィールド[username][Comment]は、自己説明的です。
  2. 2番目のフィールドの ‘x’ は、アカウントが影のパスワード(/etc/shadow内)で保護されていることを示します。[username]としてログオンするために使用されます。
  3. フィールド[UID][GID]は、[username]が属するユーザー識別子とプライマリグループ識別子を示す整数です。

最後に、

  1. [ホームディレクトリ]は、[ユーザー名]のホームディレクトリの絶対位置を示し、[デフォルトシェル]は、ユーザーがシステムにログインするときにこのユーザーに割り当てられるシェルです。
  2. 覚えておく必要がある別の重要なファイルは、グループ情報が格納されている/etc/groupです。

/etc/passwdと同様に、1行ごとに1つのレコードがあり、そのフィールドもコロンで区切られています。

[Group name]:[Group password]:[GID]:[Group members]

ここで、

  1. [グループ名]はグループ名です。
  2. このグループはグループパスワードを使用していますか?(「x」はいいえを意味します)。
  3. [GID]/etc/passwdと同じです。
  4. [グループメンバー]:各グループのメンバーであるユーザーのリストで、カンマで区切られています。

アカウントを追加した後、いつでもusermodを使用してユーザーアカウント情報を編集できます。基本的な構文は次のとおりです。

# usermod [options] [username]

関連記事:
15 ‘useradd’コマンドの例
15 ‘usermod’コマンドの例

例1:アカウントの有効期限を設定

特定の時間間隔でアカウントを有効にするなどのポリシーを持つ会社で働いている場合、または限定的な期間アクセスを許可したい場合は、--expiredateフラグの後にYYYY-MM-DD形式の日付を使用できます。変更が適用されたことを確認するためには、アカウントの有効期限の日付を更新する前後の出力を比較できます。以下の画像に示されているように。

# chage -l [username]

Change User Account Information
例 2: ユーザーを補足グループに追加する

新しいユーザーアカウントがシステムに追加されるときに作成される主要なグループに加えて、ユーザーは結合した-aG、または–append –groupsオプションを使用して、カンマで区切られたグループリストに追加できます。

例 3: ユーザーのホームディレクトリのデフォルトの場所の変更と/またはシェルの変更

何らかの理由でユーザーのホームディレクトリのデフォルトの場所(/home/username以外)を変更する必要がある場合は、-d、または–homeオプションを使用し、新しいホームディレクトリへの絶対パスを指定する必要があります。

ユーザーがbash(例えば、sh)以外のシェルを使用したい場合は、デフォルトで割り当てられるusermodを使用し、–shellフラグの後に新しいシェルへのパスを指定します。

例 4: ユーザーがメンバーであるグループの表示

ユーザーを補足グループに追加した後、実際にそのようなグループに所属していることを確認できます:

# groups [username]
# id [username]

次の画像は、例2から4を示しています:

Adding User to Supplementary Group

上記の例では:

# usermod --append --groups gacanepa,users --home /tmp --shell /bin/sh tecmint

ユーザーをグループから削除するには、上記のコマンドで--appendスイッチを省略し、--groupsフラグの後にユーザーが所属して欲しいグループをリストアップしてください。

例5:パスワードをロックしてアカウントを無効にする

アカウントを無効にするには、ユーザーのパスワードをロックするために-L(小文字のL)または–lockオプションを使用する必要があります。これにより、ユーザーがログインできなくなります。

例6:パスワードのロックを解除する

ユーザーを再度有効にしてサーバーにログインできるようにするには、以前にブロックされたユーザーのパスワードをロック解除するために、-Uまたは–unlockオプションを使用します。これは、上記の例5で説明されています。

# usermod --unlock tecmint

次の画像は、例56を示しています:

Lock Unlock User Account
例7:グループまたはユーザーアカウントの削除

グループを削除するには、groupdelを使用し、ユーザーアカウントを削除するにはuserdelを使用します(ホームディレクトリとメールスプールの内容も削除したい場合は–rスイッチを追加してください):

# groupdel [group_name]        # Delete a group
# userdel -r [user_name]       # Remove user_name from the system, along with his/her home directory and mail spool

group_nameが所有するファイルがある場合、それらは削除されませんが、グループの所有者は削除されたグループのGIDに設定されます。

Source:
https://www.tecmint.com/rhcsa-exam-manage-users-and-groups/