ACL(Posix ACL、MacOSのACLと異なる場合があります)がある場合

ACL(Posix ACL、MacOSのACLと異なる場合があります)がある場合

ファイル所有者が複数のグループに属している場合に表示するls -lグループをどのように決定しますか?たとえば、MacOSでは次のようになります。

drwx------+  48 flow2k  staff             1536 Feb  5 10:11 Documents
drwxr-xr-x+ 958 flow2k  _lpoperator      30656 Feb 22 16:07 Downloads

ここで、2つのディレクトリは異なるグループ(staffおよび_lpoperator)を示しています。これは何に基づいていますか?私は2つのグループのメンバーです。

ベストアンサー1

私はこの問題がグループがどのように機能するかについての誤解に起因するものだと思います。リストされたグループではls -lありません。ユーザー所属することもできますが、グループ文書属します。各ファイルはユーザーとグループの所有です。通常、ユーザーはこのグループに属しますが、必須ではありません。たとえば、私のユーザーは次のグループに属します。

$ groups
audio uucp sparhawk plugdev

しかし、グループではそうではありませんcups。それではファイルを作成しましょう。

$ touch foo
$ ls -l foo
-rw-r--r-- 1 sparhawk sparhawk 0 Feb 23 21:01 foo

これはユーザーが所有してsparhawkいるとも呼ばれる私の基本グループですsparhawk。それでは、ファイルのグループ所有者を変更してみましょう。

$ sudo chown sparhawk:cups foo
changed ownership of 'foo' from sparhawk:sparhawk to sparhawk:cups
$ ls -l foo
-rw-r--r-- 1 sparhawk cups 0 Feb 23 21:01 foo

現在ファイルを所有しているグループは、私が属しているグループではないことを確認できます。

この概念を使用すると、ファイル権限を正確に操作できます。たとえば、X、Y、Zメンバーでグループを作成し、3つのメンバー間でファイルを共有できます。 Xには書き込み権限を追加で付与できますが、他の人(グループ)には読み取り権限のみを付与できます。

おすすめ記事