この記事では、Linux®サーバーでのユーザーグループの管理の基本について説明します。
次の前提条件が必要です。
- Secure Shell(SSH®)の基本的な理解
- サーバーへのsudoまたは管理アクセス
- サポートされているバージョンのLinuxを実行しているクラウドサーバー
- Linuxサーバーでのファイルとディレクトリのアクセス許可に関する基本的な知識
Linuxのユーザーグループは、Linuxオペレーティングシステム上のディレクトリまたはファイルへの特定のアクセスまたは権限をユーザーのグループに許可します。このアクセスはグループによって異なります ファイルまたはディレクトリの権限。
注 :ディレクトリとファイルのアクセス許可の詳細については、Linuxのアクセス許可の変更を参照してください。
次の例は、グループのアクセス許可がユーザーのアクセスにどのように影響するかを示しています。
drwxr-xr-x. 5 root root 4096 Jun 9 11:09 .
drwxr-xr-x. 3 root root 4096 Jun 9 11:03 ..
drwxr-xr-x. 2 root apache 4096 Jun 9 11:04 files
-rw-rw-r--. 1 root apache 0 Jun 9 11:09 somefile
drwxr-xr-x. 2 root apache 4096 Jun 9 11:04 test
drwxr-xr-x. 2 testuser apache 4096 Jun 9 11:04 websitefiles
このディレクトリの権限は次のことを示しています:
-
testuser
ユーザーはディレクトリwebsitefilesの所有者です 。所有者はrwx
を持っています 、これは、ディレクトリでの読み取り、書き込み、および実行に変換されます。 - ユーザー、
apache
、r-x
があります 、つまり、ディレクトリを読み取って実行できるということです。 - ユーザー、
apache
、rw-rw-r--
があります ファイル上somefile 、つまり、ファイルの読み取りと書き込みが可能です。
ユーザーをグループに追加するときに考慮すべきディレクトリとファイルのアクセス許可には、いくつかの違いがあります。ファイルの場合、読み取り、書き込み、および実行はまさにそれを意味します。ユーザーはこれらのタスクをファイルで実行できます 。ただし、ディレクトリ 、権限には次の意味があります:
- 読む :ユーザーがディレクトリの内容を一覧表示できるようにします。
- 書く :ユーザーがディレクトリ内に新しいファイルまたはディレクトリを作成できるようにします。
- 実行 :ユーザーがディレクトリに移動できるようにします。
グループに関連付けられた権限を共有するユーザーが必要な場合は、関連付けられたグループにユーザーを追加する必要があります。
testuser
について考えてみましょう。 ユーザー権限:
# id testuser
uid=1002(testuser) gid=1002(testuser) groups=1002(testuser)
この出力は、ユーザーがデフォルトグループのみを持ち、補足グループに割り当てられていないことを示しています。
testuser
を与えるには ファイルへのアクセス ディレクトリの場合、ユーザーはapache
の一部である必要があります ユーザーグループ。
注 :一部のユーザーは、apache
を含むWeb開発者向けの別のグループも作成します。 ディレクトリ上のApache®の機能が無効になっていないことを確認してください。
例:ユーザーをグループに追加する
この例では、testuser
を追加します apache
へ グループ。
まず、apache
を確認します 変更を加える前にグループ化する:
# getent group apache
apache❌48:
他のユーザーがapache
の一部ではないことがわかります グループ。
testuser
を追加します グループ化する
testuser
を追加するには グループに移動するには、ターミナルから次のコマンドを実行します。
usermod -aG apache testuser
フラグ-aG
追加とグループに変換されます。 -a
の使用 デフォルトのグループを置き換えるのではなく、ユーザーをグループに追加するようにします。
ここで、apache
のグループを表示すると 、testuser
が表示されます グループ内。
# getent group apache
apache❌48:testuser
testuser
を表示した場合 、ユーザーがapache
を持っていることがわかります グループ。
# id testuser
uid=1002(testuser) gid=1002(testuser) groups=1002(testuser),48(apache)
これで、テストユーザーは、apache
のグループ所有権を持つディレクトリとファイルのグループレベルのアクセス許可にアクセスできます。 。
同じプロセスを使用して、次のコマンドでユーザーを他のグループに追加します。
usermod -aG <group> <user>
ユーザーを一度に複数のグループに追加することもできます:
usermod -aG <group1>,<group2>,etc <user>
ユーザーを追加するグループが、アクセスするディレクトリに対する適切な権限を持っている限り、この操作により、ユーザーはファイルとディレクトリを管理するために必要なアクセス権を得ることができます。