ユーザーとグループ

提供: ArchWiki
2022年10月13日 (木) 23:21時点におけるAshMyzk (トーク | 投稿記録)による版 (→‎ユーザーデータベース: リンクを修正)
ナビゲーションに移動 検索に移動

関連記事

GNU/Linux のユーザーとグループは、アクセス制御のために使われています — つまり、システムのファイル、ディレクトリ、周辺機器へのアクセスのコントロールに使われます。Linux は比較的シンプルかつ粗っぽいアクセス制御メカニズムをデフォルトで提供します。高度な制御については、ACLケイパビリティPAM#設定方法を見て下さい。

概要

ユーザーとはコンピュータを使う全ての人のことです。ここで、名前がユーザーを表すことを説明しましょう。名前は Mary や Bill という風につけられ、実名のかわりに Dragonlady や Pirate といった名前を使うことができます。重要なのはコンピュータはそれぞれのアカウントに名前をつけていて、人々がコンピュータを使うためのアクセスを得るために名前を使うということです。システムサービスによっては制限・特権ユーザーアカウントを使って動作させることもあります。

特定の方法でアクセスを制限することでセキュリティのためにユーザーの管理が行われます。スーパーユーザー (root) はオペレーティングシステムと設定全てにアクセスすることができます。そのため管理用途だけに使われることが想定されています。特権がないユーザーは susudo のプログラムを使うことで、制御された特権昇格を行うことが可能です。

作成するアカウントにそれぞれ異なる名前を使えば、人々は複数のアカウントを持つことが可能です。さらに、"root" など、使うことができない予約済みの名前も存在します。

ユーザーは"グループ"にまとめることができ、グループに入ることでユーザーはグループで認められた特権的アクセスを利用することができます。

ノート: ビギナーはツールを気をつけて使って下さい、自分のアカウント以外の既存の他のユーザーアカウントをいじらないようにしましょう。

パーミッションと所有権

In UNIX Everything is a File より:

UNIX オペレーティングシステムはデザイン、インターフェイス、文化と革命を形作った統一のアイデアとコンセプトを具体化しています。おそらくその中で一番重要なマントラが"全てのものはファイルである"であり、UNIX を定義付けるポイントとして広く受け取られています。
このキーデザイン原理の構成は統一パラダイムの提供による幅広い入出力のアクセスです: ドキュメント、ディレクトリ、ハードドライブ、CD-ROM、キーボード、プリンター、モニター、ターミナル、インタープロセス、ネットワーク。トリックはこれらリソース全てに対して共通のアブストラクションを提供することで、UNIX の父たちは"ファイル"と呼びました。全ての"ファイル"が同じ API を使って扱われることにより、同じ基本的なコマンドセットを使ってディスク、キーボード、ドキュメント、ネットワークデバイスへの読み書きができます。

Extending UNIX File Abstraction for General-Purpose Networking より:

UNIX とその互換オペレーティングシステムで提供されている、基礎的でとてもパワフルで一貫性のあるアブストラクションがファイルアブストラクションです。多くの OS サービスとデバイスインターフェイスはアプリケーションにファイルやファイルシステムをあたえることで実装されています。これによって既存のアプリケーションの新しい利用ができるようになり力を引き出すことができるようになります — 固有の使用目的で設計されたシンプルなツールが、UNIX ファイルアブストラクションを使って、新しい方法で利用されます。cat のような、ファイルの読み込みと標準出力への内容のアウトプットができるシンプルなツールを特別なデバイスファイル、典型的に /dev ディレクトリ下のファイルを通して、I/O デバイスからの読み書きに使うことが可能なのです。多くのシステムで、録音と再生がそれぞれ次のコマンドで出来ます、"cat /dev/audio > myfile" と "cat myfile > /dev/audio"。

GNU/Linux において全てのファイルは1つのユーザーと1つのグループによって所有されます。加えて、アクセス許可の3つのタイプが存在します: 読み込み、書き込み、実行です。ファイルの所有ユーザー、所有グループ、(所有権をもっていない)第三者に対してそれぞれ異なるアクセス許可を適用することが可能です。ls コマンドによってファイルの所有者とパーミッションを確認できます:

$ ls -l /boot/
total 13740
drwxr-xr-x 2 root root    4096 Jan 12 00:33 grub
-rw-r--r-- 1 root root 8570335 Jan 12 00:33 initramfs-linux-fallback.img
-rw-r--r-- 1 root root 1821573 Jan 12 00:31 initramfs-linux.img
-rw-r--r-- 1 root root 1457315 Jan  8 08:19 System.map26
-rw-r--r-- 1 root root 2209920 Jan  8 08:19 vmlinuz-linux

最初の列にファイルのパーミッションが表示されます (例えば、ファイル initramfs-linux.img のパーミッションは -rw-r--r--)。3、4列目にはファイルの所有ユーザーとグループがそれぞれ示されます。この例では、全てのファイルは root ユーザーと root グループによって所有されています。

$ ls -l /media/
total 16
drwxrwx--- 1 root vboxsf 16384 Jan 29 11:02 sf_Shared

この例では、sf_Shared ディレクトリは root ユーザーと vboxsf グループによって所有されています。stat コマンドを使うことでもファイルの所有者とパーミッションを確認することができます:

所有ユーザー:

$ stat -c %U /media/sf_Shared/
root

所有グループ:

$ stat -c %G /media/sf_Shared/
vboxsf

アクセス権限:

$ stat -c %A /media/sf_Shared/
drwxrwx---

アクセス許可は3つのグループの文字で表示され、それぞれ所有ユーザー、所有グループ、第三者のパーミッションを表しています。例えば、-rw-r--r-- はファイルの所有者は読み込みと書き込みが可能で、実行はできない (rw-) ことを示していて、さらに所有グループに属しているユーザーとその他のユーザーは読み込みしかできない (r--r--) ことを示しています。一方、drwxrwx--- はファイルの所有者と所有グループに属すユーザーが読み込み・書き込み・実行の全てができ (rwxrwx)、他のユーザーはアクセスを拒否される (---) ことを示しています。一番最初の文字はファイルのタイプです。

あるユーザーやグループによって所有されているファイルを一覧するには find コマンドを使います:

# find / -group groupname
# find / -group groupnumber
# find / -user user

ファイルの所有ユーザーやグループは chown コマンドで変更できます。ファイルのアクセス許可を変更するコマンドは chmod です。

詳しくは chown(1)chmod(1)Linux file permissions を見て下さい。

Shadow

Arch Linux のユーザー、グループおよびパスワードの管理ツールは、base メタパッケージ の依存関係である shadow パッケージから取得されます。

ファイル一覧

警告: 以下のファイルを直接編集してはいけません。ロックを正しく使ってデータベースのフォーマットを崩すことを避けるユーティリティが存在します。#ユーザー管理#グループ管理 を見て下さい。
ファイル 目的
/etc/shadow セキュアなユーザーアカウント情報
/etc/passwd ユーザーアカウント情報
/etc/gshadow グループアカウントの暗号化された情報
/etc/group ユーザーが属するグループの定義

ユーザー管理

現在システムにログインしているユーザーを一覧するには who コマンドを使います。全てのユーザーアカウントとユーザーデータベースに保存されているプロパティを確認するには、root で passwd -Sa を実行してください。出力されるフォーマットについては passwd(1) の説明を読んでください。

新しいユーザーを追加するときは useradd コマンドを使って下さい:

# useradd -m -g [initial_group] -G [additional_groups] -s [login_shell] [username]
  • -m を使うとユーザーのホームディレクトリ /home/[username] を作成します。ホームディレクトリの中では、root でないユーザーがファイルの書き込み・削除、プログラムのインストールなどができます。
  • -g でユーザーのイニシャルログイングループのグループ名・ナンバーを定義します; グループ名が存在していなければなりません; グループナンバーが指定された時は、そのナンバーが既存のグループに参照されている必要があります; 指定されなかった場合は、useradd の挙動は /etc/login.defs 内の USERGROUPS_ENAB に基づきます。デフォルトの挙動 (USERGROUPS_ENAB yes) ではユーザー名と同じ名前でグループを作成し、GIDUID と同じになります。
  • -G はユーザーがメンバーになる追加グループ(のリスト)を指定します; グループはそれぞれカンマで区切り、スペースを入れてはいけません; デフォルトはイニシャルグループにだけユーザーを属させます。
  • -s ではユーザーのデフォルトログインシェルのパスとファイル名を定義します; ブートプロセスが完了した後、ここに指定したシェルがデフォルトのログインシェルになります; Bash 以外のシェルを使うのなら、その選んだシェルのパッケージをインストールしておいてください。
警告: ログインシェルは /etc/shells に記載されている必要があります。PAM を使うプログラムでは、pam_shell モジュールによってチェックされます。
ノート: 新しく作成したユーザーにはパスワードを設定する必要があります。で説明されているように passwd を使います。
ヒント: 特定のサービス用にユーザーを作成する必要がある場合、シェルには /usr/bin/nologin を使って下さい。詳しくは nologin(8) を参照。

ユーザーを追加する例

典型的なデスクトップシステムでは、archie という名前の新しいユーザーを追加して、Bash をログインシェルに指定し、wheel グループに追加するには以下のコマンドを使います (詳しくは #ユーザーグループ を参照):

# useradd -m -G wheel -s /bin/bash archie
ヒント: ユーザーをグループに追加するのに躊躇する必要はありません。特定のアプリケーションをインストールしたり、何らかの設定をする場合など、必要に応じてユーザーをグループに追加する機会があるはずです。

新しく作成したユーザー archie にパスワードを設定する必要は必ずしもありませんが、設定することを強く推奨します:

# passwd archie

上記の useradd コマンドは archie という名前のグループも自動的に作成し、ユーザー archie の UID と同じ GID が設定されます。そしてログイン時に archie のデフォルトグループになります。ユーザーを追加するときは各ユーザーにグループを作るのが推奨されています (ユーザー名と同じグループ名、UID と同じ GID)。

users など別のグループをデフォルトにすることもできます:

# useradd -m -g users -G wheel -s /bin/bash archie

ただし、マルチユーザーシステムではデフォルトグループを使用するのは推奨されていません。大抵、ホームディレクトリをプレイベートにしながら特定のユーザーのグループと書き込みアクセスを共有する方法としてユーザーの umask の値は 002 に設定されており、デフォルトグループ (上の例なら users) は作成したファイル全てへの書き込み権限をデフォルトで持つことになります。ユーザー名と同じ名前のグループによって所有されている、ユーザーのホームディレクトリは他のシステムユーザーには読み取り専用になり、共有ファイル・フォルダは適当なグループに入っているメンバーによってデフォルトで書き込み可能になります。ディレクトリにグループのスティッキービットを設定することで、親ディレクトリを所有するグループに所有グループを自動的に固定することができます:

# chmod g+s our_shared_directory

そうでない場合、ファイル作成者のデフォルトグループ (通常はユーザー名と同じです) が使われます。

一時的に GID を変更する必要がある場合、newgrp コマンドを使ってユーザーのデフォルト GID を他の GID に変更できます。例えば、newgrp groupname を実行するとユーザーによって作成されたファイルの GID は groupname になります。ログインしなおす必要はありません。デフォルト GID に戻すには、グループ名を何も付けずに newgrp を実行してください。

システムユーザーを追加する例

システムユーザーは、異なるユーザのもとでプロセス/デーモンを実行するために使用できます。(chown を使うなどして) ファイルやディレクトリを保護するなど、コンピュータの堅牢化において様々な使用例があります。

以下のコマンドで、シェルへのアクセス権が無く、home ディレクトリも持たないシステムユーザが作成されます (オプションで、-U パラメータを追加するとユーザと同じ名前のグループも作成し、ユーザをそのグループに追加します):

# useradd -r -s /usr/bin/nologin username

システムユーザが特定のユーザ ID およびグループ ID を必要とする場合、ユーザの作成時に -u/--uid オプションと -g/--gid オプションで ID を指定してください:

# useradd -r -u 850 -g 850 -s /usr/bin/nologin username

ユーザーのログイン名やホームディレクトリを変更する

ユーザーのホームディレクトリを変更するには:

# usermod -d /my/new/home -m username

The -m option also automatically creates the new directory and moves the content there.

ヒント: You can create a link from the user's former home directory to the new one. Doing this will allow programs to find files that have hardcoded paths.
# ln -s /my/new/home/ /my/old/home

Make sure there is no trailing / on /my/old/home.

To change a user's login name:

# usermod -l newname oldname
警告: ユーザー名を変更するときは、変更対象のユーザーでログインしていないことを確認してください。新しい tty を開いて (Ctrl+Alt+F1)、root または他のユーザーでログインするか su で root になってください。usermod を使うことで間違えてユーザー名を変更することを防ぐことができます。

ユーザー名の変更は usermod コマンドを使って正しく行えば安全・簡単です。ユーザーが同じ名前のグループに属している場合、groupmod コマンドで変更できます。

また、/etc/passwd ファイルを直接編集する方法もあります。詳しくはユーザーデータベースを見てください。

Also keep in mind the following notes:

  • sudo を使用する場合 /etc/sudoers を更新して新しいユーザー名を反映させてください (root で visudo コマンドを使用)。
  • 個人用の crontab/var/spool/cron のユーザーファイルを古い名前から新しい名前に変更して、crontab -e を開いて相対パスを変更してファイルのパーミッションも調整します。
  • Wine の個人用フォルダ・ファイルコンテンツ ~/.wine/drive_c/users, ~/.local/share/applications/wine/Programs は手動で名前を変更・編集する必要があります。
  • Firefox におけるスペルチェックの有効化は再度行って下さい。そうしないとユーザーの名前を変更後、スペルチェックが実行されません。
  • Enigmail など特定の Thunderbird アドオンは再インストールが必要です。
  • ホームディレクトリの絶対パス (/home/oldname) を使っているファイル (デスクトップショートカット, シェルスクリプトなど) は新しいホームを使うように修正する必要があります。シェルスクリプトではこういう問題が起こらないように、ホームディレクトリを指定するときは ~$HOME 変数を使いましょう。
  • また /etc の設定ファイルで絶対パスを使っている場合は忘れずに編集してください (Samba や CUPS など)。どのファイルを編集すればいいかわからないときは grep コマンドを使います: grep -r {old_user} *

ユーザー管理の他の例

ユーザーのログイン名を変更するには:

# usermod -l newname oldname

ユーザーのホームディレクトリを変更するには:

# usermod -d /my/new/home -m username

-m オプションを付けると自動的に新しいディレクトリが作成され中身が移動します。

ヒント: 古いホームディレクトリから新しいホームディレクトリにリンクを貼ることもできます。次のコマンドを実行することでパスがハードコードされている場合でもプログラムからファイルを認識できるようになります (/my/old/home の末尾に / を付けないように注意してください): # ln -s /my/new/home/ /my/old/home

ユーザーを他のグループに追加するには:

# usermod -aG [additional_groups] [username]
警告: 上の usermod コマンドで -a オプションを外した場合、ユーザーは [additional_groups] 以外の全てのグループから削除されます (言い換えるとユーザーは [additional_groups] のグループのメンバーだけになるということです)。

また、gpasswd を使うことも可能です。ただし一度に追加(もしくは削除)できるグループは一つだけになります。

# gpasswd --add [username] [group]

GECOS (例: フルネーム) のユーザー情報を入力するには:

# chfn [username]

(インタラクティブモードで chfn が起動します)。

ユーザーのパスワードを設定するには:

# passwd [username]

ユーザーのパスワードを期限切れにして、次にログインした時に新しいパスワードを作るよう求めたいときは、次を実行してください:

# chage -d 0 [username]

ユーザーアカウントは userdel コマンドで削除できます。

# userdel -r [username]

-r オプションはユーザーのホームディレクトリとメールスプールも削除します。

ヒント: AUR のパッケージ adduserAUR には useradd, chfn, passwd を対話式に行うことができる adduser スクリプトが入っています。FS#32893 を参照。

ユーザーデータベース

ローカルユーザの情報はプレーンテキストの /etc/passwd ファイルに保存されます。このファイル内の各行は1つのユーザアカウントを表しており、7つのフィールドがコンマで区切られて記述されています。

account:password:UID:GID:GECOS:directory:shell

それぞれのフィールドの意味は以下のとおりです:

  • account はユーザ名です。このフィールドを空白にすることはできません。標準的な *NIX の命名規則が適用されます。
  • password はユーザのパスワードです。
    警告: passwd ファイルは全ユーザが読むことができます。なので、パスワード (ハッシュ化されているものなど) をこのファイルに保存することは安全ではありません。代わりに、Arch Linux ではシャドウパスワードが使用されます。この場合、password フィールドにはプレースホルダー文字 (x) が代わりに記入され、アクセスが制限されている /etc/shadow ファイルにハッシュ化されたパスワードが保存されていることを示します。そのような理由により、パスワードの変更には必ず passwd コマンドを使用することが推奨されます。
  • UID はユーザ ID の数値です。Arch では、(サービスとは異なる) 一般ユーザの (root の後の) 最初のログイン名の UID はデフォルトで 1000 となります。その後のユーザの UID エントリは 1000 より大きい必要があります。
  • GID はユーザのプライマリグループ ID の数値です。GID の数値は /etc/group にリストアップされています。
  • GECOS はオプションのフィールドで、ユーザの情報を格納するために使用されます。通常、このフィールドには完全なユーザ名が含まれますが、このフィールドは finger などのサービスによって使用されたり、chfn コマンドによって管理されたりする可能性があります。このフィールドは任意で、空白のままにしておくこともできます。
  • directory は、$HOME 環境変数を設定するためにログインコマンドによって使用されます。独自のユーザを持ついくつかのサービスは / を使用しますが、通常ユーザは普通 /home 下のディレクトリを使用します。
  • shell はユーザのデフォルトコマンドシェルへのパスです。このフィールドはオプションで、デフォルトは /bin/bash となります。

例:

archie:x:1001:1003:Archie,some comment here,,:/home/archie:/bin/bash

この例の意味は次のとおりです: ユーザ は archie で、パスワードは /etc/shadow に保存されており、UID は 1001 で、プライマリグループは 1003。Archie は完全な名前で、このアカウントに関連付けられたコメントが記入されています。このユーザのホームディレクトリは /home/archie で、Bash を使用しています。

pwck を使うことで、ユーザデータベースの整合性を検証することができます。また、このコマンドはユーザのリストを GID によってソートします (比較の際に便利でしょう):

# pwck -s
警告: filesystem パッケージの新しいリリースがインストールされた際に、Arch Linux のデフォルトのファイルが .pacnew ファイルとして作成されます。Pacman が、アクションを促すメッセージを出力しない限り、これらの .pacnew ファイルは無視/削除できます (そして、そうすべきです)。必要な新しいデフォルトユーザとグループは、必要に応じて systemd-sysusers(8) またはパッケージのインストールスクリプトによって追加/再追加されます。

自動整合性チェック

​ Instead of running pwck/grpck manually, the systemd timer shadow.timer, which is part of, and is enabled by, installation of the shadow package, will start shadow.service daily. shadow.service will run pwck(8) and grpck(8) to verify the integrity of both password and group files. ​ If discrepancies are reported, group can be edited with the vigr(8) command and users with vipw(8). This provides an extra margin of protection in that these commands lock the databases for editing. Note that the default text editor is vi, but an alternative editor will be used if the EDITOR environment variable is set, then that editor will be used instead.

グループ管理

/etc/group がシステム上のグループを定義するファイルです (詳しくは man group)。

groups コマンドでグループのメンバーを表示できます:

$ groups [user]

user を省略すると、現在使っているユーザーのグループ名が表示されます。

id コマンドはユーザーの UID や関連付けられた GID などの詳細情報を表示します:

$ id [user]

システム上の全てのグループを一覧するには:

$ cat /etc/group

groupadd コマンドで新しいグループを作成できます:

# groupadd [group]

そしてユーザーをグループに追加するには gpasswd コマンドを使います:

# gpasswd -a [user] [group]

既存のグループは groupmod で修正します。例えば gid を変更せずに old_group グループの名前を new_group に変更するには (old_group によって所有されていたファイルは全て new_group によって所有されるようになります):

# groupmod -n [new_group] [old_group]
ノート: 上記のコマンドでグループ名は変更されますが、グループの GID は変更されません。

グループを削除するには:

# groupdel [group]

グループからユーザーを外すには:

# gpasswd -d [user] [group]

グループに追加・削除したいユーザーがログイン中の場合、一度ログアウトしないと変更が適用されません。

grpck コマンドを使うことでシステムのグループファイルの整合性を確認できます。

filesystem パッケージにアップデートがあると .pacnew ファイルが作られます。ユーザーデータベース.pacnew ファイルと同じように、必要なグループはインストールスクリプトによって追加されるため、無視・削除してかまいません。

グループ一覧

このセクションでは core/filesystem パッケージに含まれている主要なグループの用途を説明します。他にもグループは存在し、パッケージがインストールされたときに適当な GID を使って作成されます。詳しくはグループに関連するソフトウェアのページを見てください。

ノート: パッケージを削除しても、自動的に作成されたユーザーやグループ (UID/GID) は削除されません。これは仕様であり、たとえ既にソフトウェアがアンインストールされていても、使用していたときに作成されたファイルがセキュリティ上のリスクにならないようにするための挙動です。

ユーザーグループ

ワークステーション/デスクトップユーザーはしばしば root でないユーザーを以下のグループに追加することで周辺機器やハードウェアのアクセスを許可したりシステム管理を楽にします:

グループ 影響があるファイル 目的
adm 管理者グループ。wheel と類似。
ftp /srv/ftp/ FTP サーバーが供給するファイルへのアクセス。
games /var/games ゲームソフトウェアへのアクセス。
http /srv/http/ HTTP サーバーが供給するファイルへのアクセス。
log syslog-ng によって作成された /var/log/ のログファイルへのアクセス。
rfkill /dev/rfkill 無線デバイスのパワーステートをコントロールする権限 (rfkill[リンク切れ: 置換パッケージ: util-linux] が使用)。
sys CUPS のプリンターを管理する権限。
systemd-journal /var/log/journal/* systemd ログへの読み取りアクセスを与えるために admwheel の代わりとして使われます [1]。他の場合、ユーザーが生成したメッセージだけ表示されます。
users 標準のユーザーグループ。
uucp /dev/ttyS[0-9]+, /dev/tts/[0-9]+, /dev/ttyUSB[0-9]+, /dev/ttyACM[0-9]+, /dev/rfcomm[0-9]+ RS-232 シリアルポートや接続されたデバイス。
wheel 管理作業用グループ、通常 sudosu コマンドに権限をわたすのに使われます (デフォルトではどちらも wheel を使いません、/etc/pam.d/su/etc/pam.d/su-l で設定ができます)。journal ファイルへの完全な読み込みアクセスを取得するのにも使うことができます。

システムグループ

以下のグループはシステムのために使われるものです。基本的にはユーザーが属する必要はありません:

グループ 影響があるファイル 目的
dbus dbus によって内部的に使用されます。
kmem /dev/port, /dev/mem, /dev/kmem
locate /usr/bin/locate, /var/lib/locate, /var/lib/mlocate, /var/lib/slocate ファイルシステム検索#locate を見てください。
lp /dev/lp[0-9]*, /dev/parport[0-9]*, /etc/cups, /var/log/cups, /var/cache/cups, /var/spool/cups パラレルポートデバイス (プリンタなど) や CUPS ファイルへの読み取りアクセス。プリンター以外のパラレルポートデバイスを使っている場合、FS#50009 を見てください。
mail /usr/bin/mail
nobody 非特権グループ。
proc /proc/pid/ proc ファイルシステムhidepid= マウントオプションによって制限されているプロセス情報にアクセスできる特権グループ。gid= マウントオプションによってグループを設定する必要があります。
root /* 完全なシステム管理とコントロール (root, admin)。
smmsp Sendmail グループ。
tty /dev/tty, /dev/vcc, /dev/vc, /dev/ptmx
utmp /run/utmp, /var/log/btmp, /var/log/wtmp

systemd 以前のグループ

以下のグループは arch が systemd に移行したことで必要なくなったグループです。現在は udev によってデバイスに uaccess タグ が設定され、logind によって ACL を使って動的にユーザーに権限が与えられます。この仕組みを機能させるにはセッションが破壊されないようにする必要があります (一般的なトラブルシューティング#セッションのパーミッションを参照)。

グループによってはユーザーを追加しなくてはいけない例外も存在します: 例えば、ログインしていない状態でユーザーからデバイスにアクセスしたい場合など。ただし、グループにユーザーを追加すると機能が破壊されることもあるので注意してください (例えばaudio グループを使用するとユーザーの高速切り替えが無効化されソフトウェアミキシングができなくなります)。

グループ 影響のあるファイル 目的
audio /dev/audio, /dev/snd/*, /dev/rtc0 全てのセッションでのサウンドハードウェアへの直接アクセス。リモートセッションで ALSAOSS を動作させるにはいまだに必要になります。ALSA#ユーザー権限を見てください。ユーザーにリアルタイムプロセスの権限を与えるために JACK でも使われています。
disk /dev/sd[a-z][1-9] optical, floppy, storage など他のグループによる影響を受けないブロックデバイスへのアクセス。
floppy /dev/fd[0-9] フロッピーディスクへのアクセス。
input /dev/input/event[0-9]*, /dev/input/mouse[0-9]* 入力デバイスへのアクセス。systemd 215 で導入されました [2]
kvm /dev/kvm KVM を使用する仮想マシンへのアクセス。
optical /dev/sr[0-9], /dev/sg[0-9] CD や DVD ドライブなど光学ディスクドライブへのアクセス。
power Pm-utils (サスペンド, ハイバネート...) などの電源管理コントロールを使う権限。
scanner /var/lock/sane スキャナーハードウェアへのアクセス。
storage USB ハードドライブ、フラッシュ・ジャンプドライブ、MP3 プレイヤーなどリムーバブルドライブへのアクセス。ユーザーによるストレージデバイスのマウントを有効にします。
sys CUPS でプリンターを管理する権限。
video /dev/fb/0, /dev/misc/agpgart ビデオキャプチャデバイスや、2D/3D ハードウェアアクセラレーション、フレームバッファへのアクセス (このグループに属さなくても X は使えます)。

使われなくなったグループ

以下のグループは現在利用されていません:

グループ 影響のあるファイル 目的
bin none 歴史的に存在していたグループ。
daemon
lock
mem
network デフォルトで使用されません。NetworkManager を使用する権限を与える場合などに使えます (NetworkManager#PolicyKit パーミッションの設定を参照)。
power
uuidd

これらのデータベースに関連した他のツール

この記事またはセクションの正確性には問題があります。
理由: Arch Linux は本当に vipw -svigr -s よりも chage を推奨しているのか? (議論: トーク:ユーザーとグループ#)

getent(1) を使用することで特定のレコードを読み出すことができます。

% getent group tty

#ユーザーデータベースで警告されているように、このようなデータベースを変更する際には、passwdchfn といった特定のユーティリティを使うほうが良いです。それでもやはり、直接編集するほうが良い場合もあります。そのような場合のために vipwvigr が提供されています。これらのツールはデータベースをロックして同時に編集されるのを防ぐので、一般的なテキストエディタよりもこれらの専用のエディターを使うことが強く推奨されます。また、これらのツールは無効なエントリや構文エラーを防止します。Arch Linux ではシャドウデータベースの変更するために util-linuxvipw -svigr -s よりも特定のツール (chage など) の使用を推奨していることに注意してください。FS#31414 も参照してください。