![Windows Server 2008 r2 のファイル権限に関する問題](https://rvso.com/image/1302462/Windows%20Server%202008%20r2%20%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E6%A8%A9%E9%99%90%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E5%95%8F%E9%A1%8C.png)
共有のある Windows Server 2008-r2 マシンがあります。この共有にアクセスする管理者ユーザーが 1 人と標準ユーザーが 3 人います。
管理者ユーザーによって実行されるアプリケーション (ただし、管理者として実行されていない) があり、新しいディレクトリを作成してそれらのディレクトリにファイルをコピーします。
共有では、すべてのユーザーに読み取りアクセスが与えられ、管理者にはフル コントロールが与えられます。さらに、共有のセキュリティにより、3 人の標準ユーザーに読み取りと実行のアクセス許可が与えられます。3 人の標準ユーザーのアクセス許可を追加するときに、「すべての子オブジェクトのアクセス許可をこのオブジェクトからの継承可能なアクセス許可に置き換える」を実行しました。実際には、まずこのアクセス許可なしで試し、次にこのアクセス許可ありで試しました。
わかりました。これが私の問題です。
権限を付与した時点で、4 人のユーザー全員がすべてのフォルダーとファイルにアクセスできます。ただし、アプリが新しいフォルダーを作成し、そこにファイルをコピーすると、3 人の標準ユーザーにはフォルダーに対する適切な権限がありますが、ファイルに対する権限がありません (ファイルに対する有効な権限はなしと表示されます)。権限をやり直すと、問題があったファイルは機能しますが、新しいファイルはやはり機能しません。3 人のユーザーのうち 1 人を管理者に変更し、すべてのファイル アクセスが期待どおりに機能することを確認しました。
では、何が足りないのでしょうか? フォルダーを作成すると適切な権限が付与されるため、ファイルのコピーと関係があると思われます。
更新: @Zordache のコメントに基づいて、次の操作を実行しました。
- グループを追加し、そのグループに 3 人のユーザーを追加し、個々の権限を削除しました。
- そのグループに、ファイルの移動元のディレクトリに対する同様の権限を与えました。
これで、入力ディレクトリから移動されたファイルの権限が正しいことが確認できました。また、新しく入ってくるファイルが正しく動作することも確認しました。問題は解決しました。
答え1
権限を扱う際のルール 1 は、ホーム ディレクトリ以外ではユーザーごとに権限を設定しないことです。
ほとんどの場合、グループを作成し、そのグループに 3 人のユーザーを追加し、そのグループに基づいて権限を設定する必要があります。
ところで、アプリケーションは実際に宛先ディレクトリにファイルを作成しているのでしょうか、それとも他の場所からファイルを移動しているのでしょうか? 同じボリューム内でファイルを移動した場合、宛先で予想されるアクセス許可には更新されず、代わりにソースの場所のアクセス許可が保持されます。
KB310316: ファイルやフォルダーをコピーおよび移動する際、アクセス許可がどのように処理されるか
デフォルトでは、オブジェクトは作成時、または親フォルダーにコピーまたは移動されたときに、親オブジェクトから権限を継承します。このルールの唯一の例外は、オブジェクトを同じボリューム上の別のフォルダーに移動する場合に発生します。この場合、元の権限は保持されます。