関連質問:Linuxファイルシステム/組織はWindowsとどう違いますか?
私は、ファイルとディレクトリに対する権限がどのように機能するかをどの程度理解しています。各項目には、ファイル所有者と所有者が属するグループを表すowner
属性があります(間違っている場合は訂正してください)。group
これは、Windows NTFSファイルシステムの権限設定とどう違いますか? NTFSと比較してUnix特権システムの利点は何ですか?
答え1
NTFSにはWindows ACEがあります。 Unixは各ファイルに「モードビット」を使用します。
NTFSでは、各ファイルには1人の所有者と0個以上のWindowsアクセスコントロールエントリ(ACE)があります。 ACEは、プリンシパル(ユーザーとグループがプリンシパル)、一連のジョブ(読み取り、書き込み、実行など)、そのジョブの許可または拒否で構成されます。ファイルには多くのACEがあります。ファイルではなく、Windowsのオブジェクト(レジストリキー、プリンタオブジェクト、その他のオブジェクト)にもACEが存在する可能性があります。ファイル操作が発生すると、すべてのACEが考慮されます。拒否は許可よりも優先されます。
Windows ACEは、ディレクトリのACEを設定し、それを下位レベルのディレクトリに自動的に伝播する継承をサポートします。
Unixのファイルには所有者と所有者グループがあります。所有者、所有者グループのメンバー、および他のすべての人(ワールドとも呼ばれる)の3つの固定された「プリンシパル」があります。各トピックには、読み取り、書き込み、および実行機能を扱う3つの「ビット」があります。 (これはディレクトリとファイルに対して異なる意味を持ちます。これ)。このビットは、誰が何をすることができるかを決定します。これはファイルモードと呼ばれ、ファイルに組み込まれています(別途ACEなし)。
ほとんどの場合、「world」権限に興味があります。つまり、「world」の3つのビットをすべて0に設定すると、所有者やグループ所有者以外の人はファイルに対して何もできません。 Unix権限はファイルシステムにのみ適用されますが、ほとんどのオブジェクトはファイルとして表示されるため、権限を使用してディスク、プリンタなどへのアクセスを制限できます。 Unixの権限はより簡単ですが、より「おおよそ」です。 Unix 権限は継承をサポートせず、下位レベルのディレクトリには影響しません。ただし、新しく作成されたファイルにディレクトリの権限を想定させるディレクトリの実行権限(私の意見では)を除いて(しかし、現在生成されたファイルには影響しません)。
伝統的に、Unixファイルには所有者と所有者のグループがあります。 Linuxには、Windowsと同様の方法でファイルにACEを追加する拡張機能があります。
Unixの利点は、単にシステムが単純であるほど一般的に理解しやすく、セキュリティが高く、ファイルシステムがファイルを開くときにiノード以外にACEを取得する必要がないため、速度が速いという点です。
答え2
1つの完全に異なる点は、「実行可能」は、ファイル名または拡張子に基づいていないLinux/Unixの権限であることです。
Linuxでは、実行権限を削除して何かが実行されないようにすることができるため、これはWindowsと比較して利点があります。魔法の拡張はまったく重要ではありません。これは、従来のファイルウイルスがUnixとLinuxでほとんど進歩を遂げなかった理由の1つです。