web-dev-qa-db-ja.com

ユーザーグループの権限を知るコマンド

cat /etc/groupコマンドまたはgroups username特定のユーザーのグループとしてグループのリストを知ることができます。

  • グループが持っている特権のタイプを知るためのコマンドはありますか?
  • 特定のユーザーにどのタイプの特権が割り当てられていますか?
  • 特定のグループのすべてのユーザーが同じ特権を持っていますか?
2
ursitesion

グループがどのタイプの特権を持っているかを知るためのコマンドはありますか?

いいえ、グループがアクセスを許可するすべてを知る方法はありません。

この理由は、グループ自体がそれを使用するものを追跡しないためです。たとえば、ファイル/fooはグループbarが所有している可能性があります。ファイル自体は「私はバーに属しています」と言っていますが、グループは「/fooは私のものです。」.
グループbarに属するものを探してファイルシステムをトラバースすることもできますが、それほど単純ではありません。特定のグループのユーザーがリソースにアクセスできるように構成されたソフトウェアを使用することもできます。たとえば、一部のLinuxディストリビューションでは、suユーティリティへのアクセスをwheelグループのメンバーに制限しています。または、特定のグループのメンバーにのみ共有をエクスポートするようにSambaを構成することもできます。

グループメンバーシップに基づいてアクセスが異なる可能性があるファイルを検索する場合は、そのグループが所有するファイルに対してfindを実行できます。

find / -group bar

ただし、これはファイルシステムACLを考慮に入れません。ファイルシステムACLは一般的な設定では使用されませんが、それらも検索したい場合、コマンドははるかに複雑になります。

find / \( -group bar -o -exec sh -c 'getfacl "$1" | grep -q "^group:bar:"' -- {} \; \) -print

特定のユーザーにどのタイプの特権が割り当てられていますか?

特定のグループのすべてのユーザーが同じ特権を持っていますか?

グループベースのアクセス許可について話している場合は、グループのすべてのユーザーに、そのグループに所属することで同じアクセス許可が付与されます。

ただし、ユーザーが複数のグループに所属することは可能です。グループfooに所属すると、ユーザーに何かへのアクセス権が付与され、グループbarに所属すると、管理者権限が付与されます。

3
Patrick

特定のユーザーの場合:

$ groups <username>

彼らがメンバーになっているUnixグループを表示します。

$ groups saml
saml : saml wheel wireshark

「特典」についてのご質問について。彼らはあなたが彼らが何を意味すると思うかを本当に意味しません。グループは、グループXのメンバーであるユーザーに、グループXが割り当てられているディスク上に存在するファイルおよびディレクトリへのアクセスを許可するだけです。実際には、それ以上のことは何もしません。

グループXのメンバーが同じ特権を持っているという3番目の質問については、はい、グループXの全員が同じレベルの特権を持っています。

1
slm