web-dev-qa-db-ja.com

Windowsファイルのアクセス許可は既存のファイルには適用されません

最近、この新しいWindows 8.1マシンをドメインに展開しましたが、他のデスクトップはまだXPを使用しています。インストールするソフトウェアの1つはOracleクライアントです。これは、ドメイン管理者アカウントを使用してマシンに手動でインストールされます(つまり、GPOなど)を介してデプロイされません)。

コンピューターのユーザー(管理者以外)は、ソフトウェアがインストールされているフォルダーへのフルアクセスが必要ですC:\Oracle\client\[...]。 XPマシンで、コンピューターの管理者としてログインし、ルートフォルダーC:\Oracleを右クリックして、セキュリティに移動し、[computer_name]\usersグループへのフルアクセスを許可します。 Apply to sub-folders設定を確認し、[OK]をクリックします。

ここでは機能しません。ユーザーはすべてのfolderssub-foldersにフルアクセスでき、フォルダーを開いたり、どこにでも新しいファイルを作成したりできます。しかし、ユーザーはファイル自体にアクセスできず、Access Deniedを取得します。ただし、特定の1つのファイルのアクセス許可を変更すると、ユーザーはそのファイルにアクセスできます。

代わりに[domain]\[username]を使用して操作を繰り返しましたが、フォルダーの所有権をユーザーに付与しても成功しませんでした。フォルダはOKです。ファイルは権限の変更を受け取りません。

ので、私は持っています:

  • フォルダとそのサブフォルダに適用される完全な読み取り/書き込み/実行権限
  • 権限はフォルダに適用されますが、既存のファイルには適用されません
  • 1つのファイルのアクセス許可の変更は機能します(ただし、そこには何千ものファイルがあります)

私は何かが足りないのですか?私はこれをXPと7台のマシンで何度も行ったので、ここでは8.1が問題だと思いますが、それについては何も見つかりません。

ありがとう!

2
clement

権限がApply toではなくThis folder and subfoldersThis folder, subfolders and filesに設定されているようです。

だからあなたはそれを変えるでしょう:

enter image description here

もちろん、権限がすでにThis folder, subfolders and filesに設定されている場合は、Replace all child object permissions with inheritable permissions from this objectチェックボックスを使用して子オブジェクトへの権限の伝播を強制する必要がある場合があります。

enter image description here

もちろん、PowerShellを使用して処理を行うこともできますが、 Set-ACLコマンドレット にもネイティブパラメーターがないため、アクセス許可を再帰的に適用するスクリプトが必要になります。したがって、 Icalcs を使用する方がよい場合があります。これには、フォルダー内のすべてのファイルとサブフォルダーに指定されたアクセス許可を適用するパラメーターが含まれています。

2
HopelessN00b