10.5. コマンドラインを使用したユーザーグループの編集
ユーザーは、ファイルおよびフォルダーに同様のアクセスを持つユーザーの論理的な集合を許可する、特定のグループセットに属します。コマンドラインから、プライマリーユーザーグループおよび補助ユーザーグループを編集して、ユーザーの権限を変更できます。
10.5.1. プライマリーユーザーグループおよび補助ユーザーグループ
グループとは、複数のユーザーアカウントを共通目的 (特定のファイルにアクセス権を与えるなど) で統合するエンティティーです。
Linux では、ユーザーグループはプライマリーまたは補助として機能できます。プライマリーグループおよび補助グループには、以下のプロパティーがあります。
- プライマリーグループ
- すべてのユーザーに、常に 1 つのプライマリーグループのみが存在します。
- ユーザーのプライマリーグループは変更できます。
- 補助グループ
- 既存の補助グループに既存のユーザーを追加して、グループ内で同じセキュリティーおよびアクセス権限を持つユーザーを管理できます。
- ユーザーは、ゼロまたは複数の補助グループのメンバーになります。
10.5.2. ユーザーのプライマリーグループおよび補助グループのリスト表示
ユーザーのグループをリスト表示して、どのプライマリーグループおよび補助グループに属しているかを確認できます。
手順
ユーザーのプライマリーおよび補助グループの名前を表示します。
$ groups user-name
user-name は、ユーザー名に置き換えます。ユーザー名を指定しないと、コマンドは現在のユーザーのグループメンバーシップを表示します。最初のグループはプライマリーグループで、その後に任意の補助グループが続きます。
例10.4 ユーザー sarah のグループのリスト表示
$ groups sarah
この出力では、以下が表示されます。
sarah : sarah wheel developer
ユーザー
sarah
にはプライマリーグループsarah
があり、補助グループwheel
およびdeveloper
のメンバーになります。例10.5 ユーザー marc のグループのリスト表示
$ groups marc
この出力では、以下が表示されます。
marc : marc
ユーザー
marc
には、プライマリーグループmarc
のみがあり、補助グループはありません。
10.5.3. ユーザーのプライマリーグループの変更
既存ユーザーのプライマリーグループを、新しいグループに変更できます。
前提条件:
-
root
アクセス - 新しいグループが存在する必要があります。
手順
ユーザーのプライマリーグループを変更します。
# usermod -g group-name user-name
group-name を、新しいプライマリーグループの名前に置き換え、user-name を、ユーザーの名前に置き換えます。
注記ユーザーのプライマリーグループを変更すると、コマンドは、ユーザーのホームディレクトリーにあるすべてのファイルのグループ所有権も、自動的に新しいプライマリーグループに変更します。ユーザーのホームディレクトリー外のファイルのグループ所有権を手動で修正する必要があります。
例10.6 ユーザーのプライマリーグループを変更する例:
ユーザー
sarah
がプライマリーグループsarah1
に所属しており、ユーザーのプライマリーグループをsarah2
に変更する場合は、以下を使用します。# usermod -g sarah2 sarah
検証
ユーザーのプライマリーグループを変更したことを確認します。
$ groups sarah
この出力では、以下が表示されます。
sarah : sarah2
10.5.4. コマンドラインから補助グループにユーザーを追加
補助グループにユーザーを追加して、権限を管理したり、特定のファイルまたはデバイスへのアクセスを有効にしたりできます。
前提条件
-
root
アクセス
手順
ユーザーの補助グループにグループを追加するには、以下を使用します。
# usermod --append -G group-name username
group-name はグループ名に、username はユーザー名に置き換えます。
例10.7 補助グループへのユーザーの追加
ユーザーの
sysadmin
をグループsystem-administrators
に追加するには、以下を使用します。# usermod --append -G system-administrators sysadmin
検証
ユーザー
sysadmin
の補助グループに新規グループが追加されていることを確認するには、以下を使用します。# groups sysadmin
この出力では、以下が表示されます。
sysadmin : sysadmin system-administrators
10.5.5. 補助グループからユーザーの削除
補助グループから既存のユーザーを削除して、権限や、ファイルやデバイスへのアクセスを制限できます。
前提条件
-
root
アクセス
手順
補助グループからユーザーを削除します。
# gpasswd -d user-name group-name
user-name をユーザー名に置き換え、group-name を、補助グループの名前に置き換えます。
例10.8 補助グループからユーザーの削除
ユーザー sarah にプライマリーグループ
sarah2
があり、セカンダリーグループwheel
およびdevelopers
に属し、そのユーザーをグループdevelopers
から削除する場合は、次のコマンドを実行します。# gpasswd -d sarah developers
検証
セカンダリーグループの開発者からユーザー sarah を削除したことを確認します。
$ groups sarah
この出力では、以下が表示されます。
sarah : sarah2 wheel
10.5.6. ユーザーの補助グループのすべての変更
ユーザーをメンバーとして残す補助グループのリストを上書きできます。
前提条件
-
root
アクセス - 補助グループが存在している
手順
ユーザーの補助グループのリストを上書きします。
# usermod -G group-names username
group-names を、1 つ以上の補助グループの名前に置き換えます。ユーザーを複数の補助グループに一度に追加するには、グループ名をコンマで区切り、スペースを使用しないでください。たとえば、
wheel,developer
です。user-name は、ユーザー名に置き換えます。
重要ユーザーが、指定しないグループのメンバーである場合は、グループからそのユーザーが削除されます。
例10.9 ユーザーの補助グループのリストの変更
ユーザー
sarah
にプライマリーグループsarah2
があり、補助グループwheel
に属し、さらに 3 つの補助グループdeveloper
、sysadmin
、およびsecurity
に属するユーザーにする場合は、次のコマンドを実行します。# usermod -G wheel,developer,sysadmin,security sarah
検証
補助グループのリストが正しく設定されていることを確認します。
# groups sarah
この出力では、以下が表示されます。
sarah : sarah2 wheel developer sysadmin security