web-dev-qa-db-ja.com

グループは「ユーザーとグループ」で何をしますか?

ファイルシステム(www-dataなど)のアクセス許可を定義するものがあることを知っています。しかし、理由を理解できません この質問は正常に回答されました 「ビデオ」グループにユーザーを追加することによって。

それでは、質問は主に、Ubuntuで事前に構築されたすべてのグループが何をするのかということです。より合理的には、非常に多くの「特別な」グループが存在するため、それらをどのように、またはいつ使用する必要がありますか?

enter image description here

13
Scaine

一部のグループは、ファイルまたはディレクトリへのアクセスを許可します。たとえば、www-dataはWebファイルへのアクセスを許可し、admグループは/var/logのファイルを読み取ります。これは簡単な使用法です。

ただし、特定のデバイスへのアクセスを許可するグループもあります。たとえば、dialoutグループは、/devのファイルを介したシリアルポートへのアクセスを許可します。

$ find /dev -group dialout -exec ls -ld {} \;
crw-rw---- 1 root dialout 4, 64 Jan 19 12:51 /dev/ttyS0
crw-rw---- 1 root dialout 4, 67 Jan 19 12:51 /dev/ttyS3
crw-rw---- 1 root dialout 4, 66 Jan 19 12:51 /dev/ttyS2
crw-rw---- 1 root dialout 4, 65 Jan 19 12:51 /dev/ttyS1

したがって、dialoutグループのメンバーであれば、デバイスファイルecho "Hello world" > /dev/ttyS0を読み書きしてシリアルポートを使用できます。 videoグループは、ビデオハードウェアへのアクセスを許可します。

各グループの説明については、ファイルを読んでください:/usr/share/doc/base-passwd/users-and-groups.html

最初のコメントに関する編集:

実際、通常、ユーザーの観点からハードウェアリソースに「アクセス」するためにこれらのグループに所属する必要はありません。一般的な方法は、最も制限の厳しいグループのメンバーであるデーモン/サーバーを管理し、デーモン/サーバーへのアクセスを許可することです。

あなたの場合、videoグループのメンバーであると、Xサーバーを介さずにグラフィックハードウェアに直接アクセスできます。通常、デスクトップ/ラップトップコンピューターでは、グラフィックハードウェア(glxinfo | grep "direct rendering")に直接アクセスできると便利です。

補足説明として、直接レンダリングを行っているが、videoグループ(id | grep --color video)のメンバーではない場合、/devファイル(find /dev/ -group video -exec getfacl {} \; | grep $USERNAME)のaclによってハードウェアアクセスが許可されました。

6
shellholic

一般に、グループ分離の概念はこれに関連しています。

http://en.wikipedia.org/wiki/Principle_of_least_privilege

セキュリティの悪夢である単一の共通レベルの高い特権(例:Sudo/root)であることに気付くまで、これらのグループをすべて持つのはばかげているように見えます。

投稿に示されているほとんどのグループは、OSのさまざまな部分が最小限の特権で共通の機能にアクセスできるように存在しています。ユーザーはこれについてあまり心配する必要はありません。一部の管理タスク中に、一部の機能にアクセスするために特権を上げる必要があります。これは通常、短時間のタスクでSudoを使用し、反復タスクの特定のグループに自分を追加することによって行われます。

2
user10804