
したがって、chown
ファイルおよび/またはディレクトリの所有者とグループを変更できます。ただし、一部はchgrp
グループを変更します。なぜchgrp
作られたのですか?これは重複しませんか?
答え1
chown
グループは最初に設定できません。後で一部の実装ではとして追加され、chown user.group
一部の実装ではとして追加されましたchown user:group
。標準化(強調):
4.3 BSD仕様方法所有者とグループこの POSIX.1-2008 ボリュームには、次の理由が含まれています。
場合によっては、chgrpおよびchown(ユーザーIDのみ変更)ユーティリティを使用して目的の終了条件を達成できません。 (現在の所有者が目的のグループのメンバーではなく、目的の所有者が現在のグループのメンバーではない場合、所有者とグループの両方が変更されないと、chown()関数が失敗する可能性があります。)
独立して変更できますが、両方を同時に変更すると両方のユーティリティを呼び出す必要があるため、パフォーマンスが100%低下します。
今でも:
chown :group
単にグループを変更することは、移植可能または標準ではありません。chown user:
ユーザーデータベースにデフォルトグループを割り当てることもuser
標準ではありません。
答え2
ファイルのユーザー所有者*を変更するには、root権限が必要です。
一般ユーザーは、ファイルのグループ所有者を自分が属する別のグループに変更できます。
おそらく、これらの特権的な観点から見ると、特にSudo以前の時代には別々に保つことが合理的かもしれません。chown
「管理者」グループで実行できるのと同様に、setuid
「管理者」グループのメンバーがファイルのユーザー所有者を変更できるようにします。
* ugoとの整合性を維持するために、「ユーザー所有者」、「グループ所有者」、および「その他」を使用します。 「o」と「owner」を混同するのは一般的な間違いです。