私が求めていることを理解するためには、UnixにおけるSUIDのいくつかの使い方と区別することが重要です。UnixベースのプラットフォームからSUIDに相当するものについては、MS Windowsプラットフォームでどのような選択肢がありますか?
プロジェクトが所有し、SUIDビットが設定されているユーザーのPATHの実行可能ファイルを使用するプロジェクトがあります。この方法では、実行時に、呼び出し元のユーザーではなくファイルの所有者のコンテキストで実行されます。この方法では、ユーザーにはアクセスできないため、通常のファイルシステム保護によってユーザーから保護されます。これは合理的にうまくいく。計画はプロジェクトをクライアント/サーバーアーキテクチャに移行することですが、それには時間がかかります。その間、Windowsシステムでこの種の動作をどのように複製できますか?
プロジェクトの実行可能ファイルは、私の意見ではプロジェクトが何をしているかを考慮すると、正直なところ、SETUIDライブラリ呼び出しを呼び出さないことに注意してください。プロジェクトにはシステムのルート権限は必要ありません。最初のセキュリティ上の懸念は、ユーザー(ファイル所有者以外のユーザー)から自分のファイルを保護する必要があることです。ファイルにアクセスするために「ユーザーコンテキスト」に切り替えることができれば非常に良いでしょうシステムを呼び出すユーザーとして扱います。 (このようにして、プロジェクトが接触するかどうかを判断するのは簡単です)
プロジェクトはCとJavaの組み合わせで作成されます。SUIDセットのCプログラムはJavaコード...
私はすべてのそのようなメカニズムを知ることに熱心だし、特にされているものに焦点を当てています:CとJavaに適し
- 、と。
- Windows以外のプログラマにとっては簡単に実装できます。
- Windows固有の最小限のコーディングが必要です。
いくつかのソリューションが優れている場合は、この点についてご承知の上でご意見をお寄せください。
NOTES:
- のLogonUser:プレーンテキストでパスワードが必要です。どのように答えがありますか?
- RunAs:PROMPT!にパスワードを入力する必要があります。 ... LogonUserの場合と同様に悪化します。私はこれが答えであるかどうか分かりません。
適切な解決策は、サービスをインストールすることです。 –