ユーザschmoe_jは、ファイルをschmoe_jが書き込めないディレクトリにコピーするアプリケーションを実行できますか?C#アプリケーションレベルの権限がユーザーの権限よりも大きいですか?
答えて
いいえ、ファイルのアクセス権は、C#コードが実行されるよりはるかに低いレベルにあるファイルシステムによって処理されます。 C#コードはファイルシステムのセキュリティを直接バイパスできません。アプリケーションがschmoe_jとして実行されている場合、schmoe_jに書き込みアクセス権がないディスク上の場所に書き込むことはできません。
1つの例外は、schmoe_jにバックアップ&の復元権限がある場合です。この場合、ディスク上のどこにでも書き込むことができます。通常のユーザーはこの権限を持っていません。これは非常に危険な権限です。
他の理論的な方法があります。たとえば、標準ユーザーがディスク上の任意の場所に書き込むことができるような、安全でないサービスがボックスにある場合などです。そのようなケースは修正する必要があるセキュリティホールです。
使用するクラスによっては、通常、ディレクトリに書き込むための適切なアクセス許可がないと例外がスローされます。
たとえば、MSDNによれば、呼び出し元に必要なアクセス許可がない場合、File.CreateとFile.Copyを呼び出すときにUnauthorizedAccessException
がスローされます。
実行可能ファイルにマニフェストを含めて、アプリケーションがより高い特権で実行されるようにすることができます。
Adding a UAC Manifest to Managed Codeを参照してください。
Vista固有の、しかし良い答えです。 – dnord
私は通常、これが手渡される方法は、高められた許可の下で実行されるが、表面積は非常に小さく、GUIはないサービス(またはサービスアプリケーション)を使用することだと思います。ユーザーは、ユーザーのアカウントでできることを行う低い権限で実行されているアプリケーションとやりとりします。ファイルをドロップオフフォルダに置いたり、データベースに書き込んだりします。
アプリケーションはユーザの権利の下で実行し、ユーザがそれを行うことができれば、アプリケーションはそれを行うことができない。
ただし、アプリケーションは別のユーザーを偽装しようとする可能性があります。その場合、そのディレクトリにアクセスできます。これは、アプリが別のユーザーの権利を一時的に取得することに関連していました。これはASP.NETが非常に頻繁に動作する方法です。
これは、ユーザーが偽装されたユーザーの資格情報を提供する必要があることを示しています。
Articleこれを実証しています。
実行可能アプリですか?はい。これらのファイルをコピーしようとすると、UnauthorizedAccessException
が投げられますが、以前はコピーされません。
- 1. SSRS - ユーザー権限
- 2. ユーザー権限
- 3. 他の権限よりも少ない権限でアクションを実行できますか?
- 4. Facebookのユーザー権限とフレンド権限の違いは何ですか?
- 5. WindowsでのRabbitmqユーザー権限
- 6. 認証:サービスの権利対ユーザー権限
- 7. Laravel 5ユーザー権限
- 8. googleAnalyticsR 403ユーザー権限
- 9. 大きなC++プロジェクトの主要な権限は何ですか?
- 10. Android - ユーザーが権限を取り消したときにFacebookのエラーで権限が呼び出されない
- 11. Djangoのコンテンツのユーザー権限
- 12. Pythonのユーザー権限は
- 13. information_schemaのmySQLユーザー権限
- 14. 紺碧のSQLユーザー権限
- 15. TFSビルドサーバーのユーザー権限
- 16. コマンドのSitecoreユーザー権限
- 17. データアクセス/ユーザー権限の管理
- 18. DBのユーザー権限階層
- 19. IdentityServer4 - APIのユーザー権限
- 20. ユーザーの役割と権限
- 21. REST:別のユーザー権限
- 22. マニフェストのAndroidユーザー権限
- 23. ユーザーが書き込み権限を
- 24. DML権限とDBA権限の付与
- 25. homebrewで権限レベルを切り替える - 権限の問題
- 26. javascriptのequals()によるユーザー権限
- 27. Androidの権限のリストAPI 23の通常の権限と危険な権限はありますか?
- 28. Laravelでのユーザー権限付与後のグローバル権限変数の作成
- 29. C#アプリケーション、System.Net.NetworkInformationの権限エラー?
- 30. CockroachDBでユーザーの権限をアップグレードする
どのバージョンのウィンドウですか?ネットワークドライブまたはローカルマシン?これらの質問に対する回答によって、答えが異なる場合があります。 –
ネットワークドライブ上のWindows Server 2003。 –