RHCSA シリーズ: RHEL 7 でユーザーとグループを管理する方法 - パート 3
他の Linux サーバーの場合と同様に、RHEL 7 サーバーを管理するには、ユーザー アカウントを追加、編集、一時停止、削除する方法と、ファイルに必要なアクセス許可をユーザーに付与する方法を理解しておく必要があります。 、ディレクトリ、およびその他のシステム リソースを使用して、割り当てられたタスクを実行します。
ユーザーアカウントの管理
新しいユーザー アカウントを RHEL 7 サーバーに追加するには、次の 2 つのコマンドのいずれかを root として実行できます。
adduser [new_account]
useradd [new_account]
新しいユーザー アカウントが追加されると、デフォルトでは次の操作が実行されます。
- ユーザーのホーム ディレクトリが作成されます (特に指定しない限り、
/home/username
)。 - これらの
.bash_logout
、.bash_profile
、および.bashrc
の隠しファイルはユーザーのホーム ディレクトリ内にコピーされ、ユーザーの環境変数を提供するために使用されます。 /彼女のユーザーセッション。詳細については、それぞれを調べてください。 - 追加されたユーザー アカウントに対してメール スプール ディレクトリが作成されます。
- 新しいユーザー アカウントと同じ名前でグループが作成されます。
完全なアカウントの概要は、/etc/passwd
ファイルに保存されます。このファイルにはシステム ユーザー アカウントごとのレコードが保持され、次の形式になります (フィールドはコロンで区切られます)。
[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]
- これら 2 つのフィールド
[username]
と[Comment]
は一目瞭然です。 - 2 番目のフィールド「x」は、アカウントがシャドウ パスワード (
/etc/shadow
内) によって保護されていることを示します。このパスワードは、[username]
としてログオンするために使用されます。 - フィールド
[UID]
と[GID]
は、[username]
が属するユーザー ID とプライマリ グループ ID を同様に示す整数です。 。
ついに、
[Home directory]
は、[username]
のホーム ディレクトリの絶対位置を示します。[デフォルト シェル]
は、このユーザーがシステムにログインするときにコミットされるシェルです。
理解しておく必要があるもう 1 つの重要なファイルは、グループ情報が保存される /etc/group
です。 /etc/passwd
の場合と同様、1 行に 1 つのレコードがあり、そのフィールドもコロンで区切られています。
[Group name]:[Group password]:[GID]:[Group members]
どこ、
[グループ名]
はグループの名前です。- このグループはグループパスワードを使用していますか? (「x 」はいいえを意味します)。
[GID]
:/etc/passwd
と同じ。[グループメンバー]
: 各グループのメンバーであるユーザーのカンマ区切りのリスト。
アカウントを追加した後は、usermod を使用していつでもユーザーのアカウント情報を編集できます。その基本構文は次のとおりです。
usermod [options] [username]
こちらもお読みください:
15 個の「useradd」コマンドの例
15 の「usermod」コマンドの例
例 1: アカウントの有効期限の設定
一定期間アカウントを有効にする何らかのポリシーがある会社に勤めている場合、または限られた期間へのアクセスを許可したい場合は、--expiredate
を使用できます。フラグの後にYYYY-MM-DD 形式の日付が続きます。変更が適用されたことを確認するには、次の出力を比較します。
chage -l [username]
次の図に示すように、アカウントの有効期限を更新する前と後です。
例 2: ユーザーを補足グループに追加する
新しいユーザー アカウントがシステムに追加されるときに作成されるプライマリ グループに加えて、-aG または -append を組み合わせてユーザーを補助グループに追加できます。– グループオプション、その後にグループのカンマ区切りのリストが続きます。
例 3: ユーザーのホーム ディレクトリのデフォルトの場所の変更、および/またはそのシェルの変更
何らかの理由でユーザーのホーム ディレクトリのデフォルトの場所 (/home/username 以外) を変更する必要がある場合は、-d または < を使用する必要があります。–home オプション、その後に新しいホーム ディレクトリへの絶対パスが続きます。
ユーザーがデフォルトで割り当てられる bash 以外の別のシェル (sh など) を使用したい場合は、–shell を指定して usermod を使用します。 > フラグ、その後に新しいシェルへのパスが続きます。
例 4: ユーザーがメンバーとなっているグループを表示する
ユーザーを補助グループに追加した後、そのユーザーが実際にそのグループに属していることを確認できます。
groups [username]
id [username]
次の図は例 2 から 4 までを示しています。
上の例では:
usermod --append --groups gacanepa,users --home /tmp --shell /bin/sh tecmint
グループからユーザーを削除するには、上記のコマンドで --append
スイッチを省略し、--groups
フラグの後にユーザーを所属させるグループをリストします。
例 5: パスワードをロックしてアカウントを無効にする
アカウントを無効にするには、-L (小文字の L) または -lock オプションを使用してユーザーのパスワードをロックする必要があります。これにより、ユーザーはログオンできなくなります。
例 6: パスワードのロックを解除する
ユーザーが再びサーバーにログオンできるようにユーザーを再度有効にする必要がある場合は、-U または -unlock オプションを使用して、変更されたユーザーのパスワードのロックを解除します。上記の例 5 で説明したように、以前はブロックされていました。
usermod --unlock tecmint
次の図は例 5 と 6 を示しています。
例 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 に設定されます。