RHCSAシリーズ:RHEL7でユーザーとグループを管理する方法-パート3-


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

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

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

# adduser [new_account]
# useradd [new_account]

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

  1. His/her home directory is created (/home/username unless specified otherwise).
  2. These .bash_logout, .bash_profile and .bashrc hidden files are copied inside the user’s home directory, and will be used to provide environment variables for his/her user session. You can explore each of them for further details.
  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 ファイルに保存されます。このファイルは、システムユーザーアカウントごとにレコードを保持し、次の形式になります(フィールドはコロンで区切られます)。

[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]
  1. These two fields [username] and [Comment] are self explanatory.
  2. The second filed ‘x’ indicates that the account is secured by a shadowed password (in /etc/shadow), which is used to logon as [username].
  3. The fields [UID] and [GID] are integers that shows the User IDentification and the primary Group IDentification to which [username] belongs, equally.

最後に、

  1. The [Home directory] shows the absolute location of [username]’s home directory, and
  2. [Default shell] is the shell that is commit to this user when he/she logins into the system.

よく知っておく必要のあるもう1つの重要なファイルは、グループ情報が保存されている/etc/group です。 /etc/passwd の場合と同様に、1行に1つのレコードがあり、そのフィールドもコロンで区切られます。

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

どこ、

  1. [Group name] is the name of group.
  2. Does this group use a group password? (An “x” means no).
  3. [GID]: same as in /etc/passwd.
  4. [Group members]: a list of users, separated by commas, that are members of each group.

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

# usermod [options] [username]

一定期間アカウントを有効にする何らかのポリシーがある会社で働いている場合、または限られた期間へのアクセスを許可したい場合は、 -expiredate を使用できます。フラグの後にYYYY-MM-DD形式の日付が続きます。変更が適用されたことを確認するために、の出力を比較できます。

# chage -l [username]

次の画像に示すように、アカウントの有効期限を更新する前後。

新しいユーザーアカウントがシステムに追加されたときに作成されるプライマリグループに加えて、-aGまたは-append-groupsオプションを組み合わせて、コンマで区切られたグループのリストを使用して、ユーザーを補足グループに追加できます。

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

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

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

# groups [username]
# id [username]

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

上記の例では:

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

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

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

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

# usermod --unlock tecmint

次の画像は、例5と6を示しています。

グループを削除するには、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に設定されます。