【図解】初心者向けWindowsアクセス権~CIFSの動作, NTFSとの優先順位〜

Windowsの2種類のアクセス権

Windowsのフォルダ/ファイルのアクセス権には以下の2種類があります。

  1. NTFSファイルシステムに内在するアクセス権
  2. CIFS(ファイル共有)サービスに内在するアクセス権

1つ目のNTFSアクセス権は、NTFSファイルシステム上に存在しているフォルダやファイル1つ1つにアクセス許可・拒否のルールが書かれているものです。そのWindowsマシンにログインしたユーザはこのアクセス権に従ってフォルダ/ファイルへの制御が為されます。

NTFSアクセス権の種類は単純な「読み取り」や「書き込み」だけでなく、「フォルダの内容の一覧表示」、「アクセス許可の読み取り」等、13種類あります

2つ目のCIFSアクセス権は、別のマシンがCIFSというプロトコルを使ってIPネットワーク経由でそのWindowsマシンのファイルシステムにアクセスする場合に適用されるものです。

CIFSアクセス権の種類は、NTFSアクセス権と違い、「Read Only(読み取り)」と「Read/Write(読み書き)」の2種類だけです。

CIFSで別マシンのNTFSファイルシステム上のフォルダ/ファイルへアクセスする場合、まずはこのCIFSアクセス権で許可されている必要がありますが、NTFSアクセス権でも許可されている必要があります

例えばCIFSアクセス権が読み取りの場合はNTFSアクセス権が書き込みがあってもCIFS経由では書き込みできません(直接Windowsログインすれば可)し、CIFSアクセス権が読み書き可であってもNTFSアクセス権で何も権限がなければ何もできません。

1. NTFSのアクセス権

OSとファイルシステムとアクセス制御

Windows OSとNTFSファイルシステムは、独立したものではありますが、緊密に連携されています。

特にフォルダ/ファイルのアクセス制御は、OS上で管理されている『SID(Windowsユーザアカウントの識別子)』が、NTFSファイルシステム上で管理されている『アクセス権情報』に含まれていますので、OSとファイルシステムの連携の代表例になります。

所有者とアクセス権

各フォルダ/ファイルのアクセス制御に関わるのは『アクセス権』と『所有者』の2つです。

まず、アクセス権にはそのフォルダ/ファイルに対し、『誰が(どのSIDが)』『どのような操作をして良いか(フルコントロールか、読み書きか、読み取りのみか、等)』が記述されています。

例えばあるファイルには、『[administratorのSID]フルコントロール可[ユーザAのSID]読み書き可[ユーザBのSID]読み取りのみ可』等と書かれています。これについては最初の図の例にある通りです。

次に所有者についてですが、所有者にはそのフォルダ/ファイルへのアクセス権を自由に変更できる権限が与えられます。

なお、administratorであっても『アクセス権』で許可されていなければアクセスできません。このあたりがLinuxと考え方が異なります(Linuxではrootユーザはパーミッション無視で全てにアクセス可能)。

ですが、administrator等一部の管理者ユーザについては、全てのフォルダ/ファイルに対し、アクセス権(パーミッション)無視で、所有者の変更が可能です。なのでアクセス権がなくなっても、まずは所有者をadministratorに変えれば、その後に自身のアクセス権を付与し、アクセス可能になります。

関連:アクセス権が無くなった場合の対処方法

2. CIFS(ファイル共有)のアクセス権

WindowsのファイルをIPネットワーク経由で共有させる場合、CIFSというプロトコルを使って共有します。このCIFSは、『NTFSアクセス権』とは独立した『CIFSアクセス権情報』を保有しています。

NTFSアクセス権がファイルシステム上のフォルダ/ファイル1つ1つにあるのに対し、CIFSアクセス権は、CIFSサービスプロセス上にあります

CIFSサービスプロセスでは、クライアント(ユーザ)からのコマンドが『どのファイルに対して』『どのような操作をするか(ReadなのかWriteなのか)』を見て、CIFSアクセス権に合致するかを確認し、後の処理はNTFSファイルシステムの管理プロセスに委ねます。

つまりCIFSアクセス権はネットワークアクセスに対する門番であり、それ以降はNTFSアクセス権が制御します。

NTFSアクセス権とCIFSアクセス権の違いが分かる具体的な設定例

例えば、あるWindowsに、フォルダ『c:¥test1¥test2』を共有設定(共有名 : test3、アクセス権 : taro.ito=Read Only)したとします。

このとき、Windowsに直接ログインしたユーザがエクスプローラから見る分には変化ありませんが、別のマシンから CIFS で接続しに行くと、共有したフォルダが見えるようになります。例えば共有設定した Windows の IP が 10.1.1.1 だった場合、エクスプローラで

\\10.1.1.1\test3

と打つと、共有した C:\test1\test2 の中が見えるようになります。

この時、上位フォルダの“test1“ の NTFSアクセス権は無視されますが、test1のフォルダには辿れません。test3 の CIFSアクセス権と test2 の NTFSアクセス権の両方で許可されている範囲でアクセスが可能になります。

つまり、共有したフォルダはショートカットができるが、ショートカットされたパスはアクセスできないのです。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする