ローカルWindowsシステムでのクイックシナリオ。
ドライブE:
はNTFSでフォーマットされており、次のレイアウトと権限があります。
E:\ (JohnDoe)
E:\folder (Administrator)
E:\folder\subfolder (JohnDoe)
JohnDoe
には、ルートディレクトリへの読み取り/書き込みアクセス権があります。JohnDoe
には読み取り/書き込みアクセス権がありますsubfolder
JohnDoe
は[〜#〜] not [〜#〜]はfolder
にアクセスできませんJohnDoe
は[〜#〜] not [〜#〜]には権限を変更する機能がありません。JohnDoe
はfolder
にアクセスできず、コンテンツを一覧表示できないため、パスE:\folder\subfolder
を手動で入力する必要があります。 E:\
からsubfolder
に移動するための「クリック可能な」方法はありません。
質問は次のとおりです。JohnDoe
が、その親subfolder
の内容を一覧表示できずに、アクセス可能なfolder
の存在とパスを検出する方法はありますか?彼はsubfolder
の名前を知らされておらず、権限は上記のものから変更されていません。
この問題のために、subfolder
の名前を推測するブルートフォース攻撃の可能性を無視してください。非ブルートフォースメソッドのみが許可されます。
NTFSは、中間フォルダが本当にアクセスできないと仮定して、そのようなリモートサブフォルダを検出する方法を提供していません。このようなインテリジェンスを取得するには、ファイルシステムだけでなく、ドキュメントに含まれているパスや、そのようなサブディレクトリを参照するためのショートカットを他のファイルに問い合わせる必要があります。
JohnDoeがマシンへのアクセスを昇格させた場合、事態はさらに興味深いものになります。その時点で、開いているファイルハンドルを調べると、隠しディレクトリの存在が明らかになります。ディレクトリが共有されている場合、共有用に開いているファイルのリストにもそれらの存在が表示されます。ただし、これらのメソッドは「通常の」ユーザーには機能しません。
ルートディレクトリにサブフォルダのジャンクションを作成します。
E:\
E:\folder
E:\folder\subfolder
E:\junction-to-subfolder
次のコマンドを使用します。
MkLink /j "E:\junction-to-subfolder" "E:\folder\subfolder"
これで、JohnDoeはそのサブフォルダーを簡単に表示してアクセスできます。
EDIT:ターゲットに影響を与えずにジャンクションを削除するには、次を使用します。
RD "E:\junction-to-subfolder"
私は同様の設定を使用しましたが、ユーザーがディレクトリに出くわしたようです。あなたの場合の問題は、今ではアクセスされることです。バッチスクリプトまたはドライブマッピングがある場合、ユーザーは、知識があればそれを見つけることができるでしょう。 Windowsではドライブ文字を非表示にできることは知っていますが、それだけでは不十分な場合があります。
アクセスしたくない場合は、可能であれば許可を与えないことをお勧めします。実行しているタスクには別のアカウントを使用します(たとえば、バックアップ用のバッチスクリプトの実行など)。
ユーザーに知らせずに、何を達成したいのかをよく知らずに、より具体的なアドバイスを与えることは困難です。別の方法があるかもしれません。