sudo chown -R $USER:admin /usr/local - rootに復元しますか?

sudo chown -R $USER:admin /usr/local - rootに復元しますか?

質問は〜です。答えを求める以前は、(を使用して)インストールした管理者ユーザーアカウントを開いておくのがchown安全であることがわかっていました。/usr/localgithomebrewbrew install git

sudo chown -R $USER:admin /usr/local

さて、所有権を再度次に変更する必要があるかどうか疑問に思います。

誰がそれを所有しているかは重要ですか/usr/local

注:この質問はmacOSに関するものですが、Unixシステムにも当てはまります。

答え1

「歴史」から始めましょう。/usr/local通常、デフォルトのオペレーティングシステムでインストールされていないユーザープログラム/データを保存するために使用されます。一般に、automakeを使用してソースからプログラムを作成すると、デフォルトのオペレーティングシステム/usr/local自体はそのディレクトリに依存しないため、権限は実際には管理者の好みによって異なります。

今、私たちはこの問題を他の角度から考えることができます。ディレクトリに対するユーザーまたは+r権限+wがある場合、+xその権限はそのディレクトリの所有者にのみ適用されます。通常、ユーザー権限はグループまたはすべての権限より高いです。つまり、所有者は/usr/local他のアカウントよりも高い権限を持ちます。これで、グループおよび/またはすべての権限がそのディレクトリに対するユーザーの権限以上である場合、実際の所有者が誰であるかは重要ではありません。

したがって、自分に尋ねるべき質問は、どのユーザーが「アイテム」を使用するのか/usr/local、および他のユーザーが同じ「アイテム」にアクセスできるかどうかに興味がありますか?あなたの回答は、ディレクトリを所有しているユーザーだけでなく、ディレクトリに対するユーザー、グループ、およびすべての権限にも影響を与える可能性があります。

home-brewの場合、通常は、home-brewパッケージシステムを管理するユーザーにこのディレクトリを所有させることをお勧めします。より多くの共有システムでは、ディレクトリをルートが所有する方が一般的です。これは、ディレクトリがユーザーが制御している場合でも、システム管理者は通常ディレクトリ内のコンテンツを制御したいからです。

参考までに、以下は一般的なLinux(Ubuntu)コンピュータと一般的なMac OS Xコンピュータの例です。

user@ubuntu:~$ ls -ld /usr/local
drwxr-xr-x 10 root root 4096 Sep 10  2013 /usr/local
Mac:~ user$ ls -ld /usr/local
drwxrwxr-x  12 root  admin  408 12 Apr 04:32 /usr/local/

関連情報