デフォルトの権限を持つディレクトリがあるとします
drwxr-xr-x 4 root root 4096 Dec 11 23:47 webtorrent-desktop/
所有者のみ変更します
$ sudo chown -R sandy webtorrent-desktop
drwxr-xr-x 4 sandy root 4096 Dec 11 23:47 webtorrent-desktop/
今度はグループも変更します
$ sudo chown -R sandy: webtorrent-desktop <br>
drwxr-xr-x 4 sandy sandy 4096 Dec 11 23:47 webtorrent-desktop/
そこで質問なのですが、これら 2 つの違いは何でしょうか
。1) 私はファイルまたはディレクトリの所有者ですが、そのグループは root です
。2) 私はファイルまたはディレクトリの所有者であり、グループも私のものです。
そして、最初のケースでは何らかの操作にルート権限が必要になりますか?
答え1
違いは、誰がファイルにアクセスできるかです。
ご存知のとおり、3つの固有の権限ビットがあります。ユーザー(u
)、グループ(g
)、 そしてその他(o
)。これらはそれぞれ、設定されたビットに応じて異なる方法で処理されます。
たとえば、ファイルの権限が770(rwxrwx---
)に設定されている場合、所有ユーザーと所有グループの両方がファイルの読み取り、書き込み、実行ができることを意味します。グループの書き込みビットを無効にすると(rwxr-x---
)、所有グループはファイルの読み取りと実行が可能ですが、ない編集します。
では、なぜこれが重要なのでしょうか? たとえば、Web サイトを作成するために、他の大勢の人々とサーバーにいるとします。これらのユーザーはすべて、 というグループに属していますdevelopers
。すべての がファイルに書き込めるようにする必要があるdeveloper
ため、グループに読み取りと書き込みの権限を与えます。こうすることで、すべてのユーザーがdeveloper
必要なファイルにアクセスできます。
さて、架空の作業環境に、表示はできるが変更はできないフォルダーがあるとしますdeveloper
。そのフォルダーでは、グループから書き込み権限を削除します。これにより、開発者はフォルダーを表示 (およびオプションで実行) できますが、変更はできなくなります。
しかし、ルートユーザーの場合は事情が異なります。ルートは既に何でもできるので、あまり問題ではありません。ただし、root:root
ファイルを所有していて他のユーザーの書き込み権限がオフになっている場合は、ほかにだれもそのファイルを編集できます。これは、管理者ユーザーのみがアクセスできるシステム構成によく使用されます。
さて、これがあなたの 2 つの質問に何を意味するかを考えてみましょう。
- あなたが所有ユーザーで、
root
が所有グループの場合、ファイルを完全に制御し、ルートの(無用な)権限を設定できます。同様に、グループのメンバーroot
(通常は のみroot
)は、設定された権限に従ってファイルを使用できます。 - 所有ユーザーとグループの両方である場合、ファイルをさらに完全に制御できます。あなたの個人グループは「所有者」であり、他のすべてのユーザーは「その他」の権限セットを経由します。
機能的にオンほとんどしかし現代のシステムでは、モード1とモード2の間に違いはありません。