回答:
一部のグループは、ファイルまたはディレクトリへのアクセスを許可します。たとえば、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
ファイルのACLによるハードウェアアクセスが許可されました(find /dev/ -group video -exec getfacl {} \; | grep $USERNAME
)。
sudo apt-get install acl
2番目のコマンド(getfacl)を実行する必要があります。説明をありがとう。
一般に、グループ分離の概念はこれに関連しています。
http://en.wikipedia.org/wiki/Principle_of_least_privilege
代替手段がセキュリティ上の悪夢である単一の共通レベルの高い特権(sudo / rootなど)であることに気付くまで、これらのグループをすべて持っているのはばかげているように見えます。
投稿に示されているほとんどのグループは、OSのさまざまな部分が最小限の特権で共通の機能にアクセスできるように存在しています。ユーザーはこれについてあまり心配する必要はありません。いくつかの管理タスク中に、いくつかの機能にアクセスするために特権を上げる必要があります。これは通常、sudoを使用して短時間のタスクを行い、反復タスクのために特定のグループに自分を追加します。