共有フォルダ内の一部のファイルにアクセス拒否エラーが発生する

共有フォルダ内の一部のファイルにアクセス拒否エラーが発生する

私は簡易ファイル共有を使用している XP Pro システムを持っています。特定のフォルダーの共有が有効になっており、「ネットワーク ユーザーが自分のファイルを変更することを許可する」も有効になっています。

別のマシンから共有ファイルをコピー (読み取り) すると、そのうちのいくつか (1000 個中約 20 個) でアクセス拒否エラーが発生します。ファイルを開くプログラムはありません。

ファイルを共有しているマシンに移動して実行する必要があります

CACLS C:\MySharedFolder\*.* /T /e /g Everyone:c

これにより問題は解決し、すべてのファイルにアクセスできるようになります。ただし、そのコマンドを実行する必要があるのは不便です。数日または数週間後に、エラーが再発します。

このエラーの根本的な原因は何ですか? ファイルにアクセスするプログラム (この場合は Eudora) が権限を誤って設定しているようですが、なぜこのマシンだけなのでしょうか? 共有フォルダーの構成が同じ他のマシンがありますが、この問題は発生していません。

答え1

典型的には、これはユーザーによって引き起こされる可能性がある切り取りと貼り付けファイルを共有にコピーします。つまり、ファイル (ソース側) が親フォルダから権限を継承しないように設定されている場合、コピー先にカット アンド ペーストすると、古い権限が保持されます。

答え2

これは実際には回答ではありませんが、追加情報です (文字数制限のためコメントは使用できません)。私はまだこの問題を理解して解決しようとしています。

CACLS での「不良」ファイルの権限は次のようになります (権限により、別のマシンからのコピーが防止されます)。

C:\...\Mail\descmap.pce BUILTIN\Administrators:F
                        NT AUTHORITY\SYSTEM:F
                        MARS\Tim:F
                        BUILTIN\Users:R

「良い」ファイルは次のようになります。

C:\...\Mail\In.mbx Everyone:C
                   BUILTIN\Administrators:F
                   NT AUTHORITY\SYSTEM:F
                   MARS\Tim:F
                   BUILTIN\Users:R

「メール」(親) フォルダの権限は次のようになります。

C:...>cacls mail
C:...\Mail Everyone:(OI)(CI)C
           BUILTIN\Administrators:F
           BUILTIN\Administrators:(OI)(CI)(IO)F
           NT AUTHORITY\SYSTEM:F
           NT AUTHORITY\SYSTEM:(OI)(CI)(IO)F
           MARS\Guest:F
           CREATOR OWNER:(OI)(CI)(IO)F
           BUILTIN\Users:R
           BUILTIN\Users:(OI)(CI)(IO)(special access:)
                                     GENERIC_READ
                                     GENERIC_EXECUTE

           BUILTIN\Users:(CI)(special access:)
                             FILE_APPEND_DATA

           BUILTIN\Users:(CI)(special access:)
                             FILE_WRITE_DATA

「Everyone:C」および「BUILTIN\Administrators:F」属性は、何らかの理由で、問題のあるファイルから削除されます。異なるファイルは異なるタイミングで影響を受けます。一貫性がないようです。

答え3

これは解決策ではありませんが、比較するためのものです...

私もほぼ同じ問題を抱えています。ただし、私の場合は、PDC として動作する Samba-3 サーバーにログインするユーザー ID を持っていました (つまり、マシンがドメインに参加しています)。

このユーザー ID は WinXP ボックスからファイルにアクセスできましたが、Win7-PRO マシンではアクセス拒否エラーが発生していました。ファイルは共有から共有へ、またはフォルダーからフォルダーへ移動していませんでした。これは、会社の全員がアクセスできるパブリック フォルダーでした。

解決するためにあらゆることを試しましたが、唯一わかったのは、Windows 7 のクリーン コピーを使用してワークステーションを再ステージングすることで問題が解決したことです。

私の場合、Windows7 と SAMBA の相互作用が問題であるように思われます。興味深いのは、他の Win7 ボックスでは他のユーザーには問題が発生しなかったのに、この特定のユーザー ID では Win7 ボックスでのみ問題が発生したことです。

ユーザー ID を削除して再作成しましたが、ローミング プロファイルを消去しても問題は解決しませんでした。また、古いユーザー ID と一致しない新しく作成されたユーザー ID を使用するようにユーザーに指示しても、問題は解決しないことがわかりました。

この 1 台の Windows 7 ワークステーションがユーザー ID で問題を引き起こし、その後、そのユーザー ID が他の Windows 7 ワークステーションに伝わったようです。

1 台の Win-7 ワークステーションを再ステージングすると、問題は解決します。

関連情報