ファイルの作成時にグループ名はどのように機能しますか?

ファイルの作成時にグループ名はどのように機能しますか?

新しいファイル/ディレクトリ/リンクを作成すると、

sham@mohet01-ubuntu:~$ ls -l
total 48
drwxr-xr-x 3 sham sham 4096 Apr  5 19:03 Desktop
drwxrwxr-x 2 sham sham 4096 Apr  7 11:19 docs
drwxr-xr-x 3 sham sham 4096 Apr  5 18:28 Documents
drwxr-xr-x 2 sham sham 4096 Apr  5 18:56 Downloads
-rw-r--r-- 1 sham sham 8980 Apr  5 10:43 examples.desktop
drwxr-xr-x 2 sham sham 4096 Apr  5 03:46 Music
drwxr-xr-x 2 sham sham 4096 Apr  5 18:46 Pictures
drwxr-xr-x 2 sham sham 4096 Apr  5 03:46 Public
drwxr-xr-x 2 sham sham 4096 Apr  5 03:46 Templates
drwxr-xr-x 2 sham sham 4096 Apr  5 03:46 Videos

グループ名はsham.user と表示されますが、このユーザーshamがこれらのファイルの所有者です。

質問:

グループ名を所有者名と同じにするにはどうすればいいですか? グループ名が所有者名と同じであることはどういう意味ですか?

答え1

ユーザー名とグループ名は 2 つの独立した名前空間に存在するため、同じ名前であっても何も意味しません。単にこの名前を持つグループであるだけです (たとえば、数値のグループ ID は数値のユーザー ID とは異なる可能性があります)。

それにもかかわらず、多くのLinuxディストリビューションは、新しいユーザーアカウントの作成時に新しいグループを作成し、このグループがこのユーザーのデフォルトグループになります(デフォルトでは、このユーザーIDのみが含まれます)。したがって、グループとユーザー名は同じです。いつもの(!) は、ファイルがこの 1 人のユーザーのみを含むグループに属していることを意味します。(ただし、管理者がこのグループにさらにユーザーを追加したり、同じ名前のユーザーとまったく関係のないこの名前のグループを作成したりすることを妨げるものは何もありません。)

答え2

これは一部の Linux ディストリビューションでは比較的新しいものです。グループ名は、すべての新規ユーザーに対してデフォルトで作成される「プライベート グループ」です。

Linux では、デフォルト グループが必要です。以前は、ユーザーはusersシステム ID を持つデフォルトのプライマリ グループに追加されていまし100た。状況によっては、他のユーザー ファイルへの「グループ アクセス」が付与されるため、問題が発生することがあり、これは必ずしも望ましいことではありません。おばあちゃんがあなたのプライベートなドキュメントや写真などを共有することを想像してみてください。新しい「user user」グループは、デフォルトでそのようなことが起きないようにするためのものです。

現在、多くのディストリビューションでは、デフォルトで各ユーザーがユーザー名を複製した独自のプライベート グループを持つようになっています。ユーザーは、そのグループに誰を追加するかを選択できます。


新しいファイルを作成すると、デフォルトのグループgroup ownershipに新しいファイルが自動的に割り当てられます。ほとんどの場合、それをプライベート グループにしたいので、これがデフォルトになります。

さまざまなセカンダリ グループのメンバーになることもできます。セカンダリ グループを切り替えて、新しく作成されたファイルにグループの所有権を持たせるには、コマンドは (非常に直感的ではありませんが) ですnewgrp。次のようになります。

$ newgrp myOtherGroup

新しく作成するすべてのファイルには「グループ所有権」が付与されます。私の他のグループまたは再起動するまでnewgrp username

関連情報