問題タブ [elevated-privileges]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - 昇格された管理者特権を ASP.NET コードに一時的に付与する
Web 管理コンソールを介してサーバー上で一連の管理タスクを実行しようとしています。コンソールは、現在ログインしているユーザーとして偽装して実行され、ローカル マシンの管理者のみがログインを許可されます。現在、ほとんどの場合に機能しますが、UAC で実行すると問題が発生します。
最初の問題はブロッカーです。ローカル ボックスの管理者であっても、管理者は「BUILTIN\Administrators」の役割を取得していないようです。<allow roles="BUILTIN\Administrators">
セキュリティを指定するために web.config 表記を使用しているため、管理コンソールにアクセスすることさえできなくなる可能性があります。ここでの唯一の解決策は、ASP.NET アプリを SYSTEM として実行するか、より多くのユーザーを許可し、コードでより詳細な権限チェックを行うことだと思います。他のアイデアはありますか?組み込みの ASP.NET アクセス許可チェックに昇格要求を挿入する方法はありますか?
もう 1 つの問題は、管理者アクセスを必要とするいくつかのコマンドを実行したいということです。サイトにアクセスしているユーザーは管理者であり、適切に偽装されていますが、プロセスを生成すると、管理者権限がないために失敗します。明確な答えは、そのコマンドの間昇格することです。特定のユーザー名とパスワードになりすますことで一時的に昇格できるソリューションがありますが、既に検証済みのユーザーにパスワードを尋ねる必要はありません。現在のユーザーを昇格させるためのトリックはありますか?
(ASP.NET チームがこれを困難にしようとする理由は理解できます。これにより、Web ページは管理者が Web サイトにアクセスするという目に見えない利点を利用できなくなります...コードには完全な管理者権限が必要であり、IIS 管理者にその意図を適切に警告しますか?)
Windows フォーム アプリには、次のような一連の回答があり ます。File.Exists はネットワーク共有から false を返しますが 、 ASP.NET で動作するものを見つけたいと思っています...
ありがとうスティーブ
c++ - プログラムでルート権限を取得するにはどうすればよいですか?
非特権ユーザーとして実行されるが、ある時点で(新しい仮想デバイスを作成するために)root特権を必要とするソフトウェア(C ++、Linux / Mac OSX用)を作成しています。
このプログラムをrootとして実行することはオプションではなく(主にセキュリティの問題のため)、「実際の」ユーザーのID(uid)を知る必要があります。
「sudo」コマンドの動作(ユーザーパスワードを要求する)を模倣して、一時的にroot権限を取得し、特定のタスクを実行する方法はありますか?もしそうなら、どの関数を使用しますか?
ご助力ありがとうございます !
c# - .NET アプリケーションを強制的に管理者として実行するにはどうすればよいですか?
プログラムがクライアント マシンにインストールされたら、 Windows 7でプログラムを管理者として強制的に実行するにはどうすればよいですか?
c# - SharePoint リストの作成エラーに関するヘルプ (おそらく権限の問題が原因)
Web パーツをアクティブ化しようとすると、エラーが発生します。あるセットアップでは正常にアクティブ化されますが、別のセットアップでは失敗します。両方の管理者。リストを作成できないため、失敗したようです。エラー: メッセージ: 値を null にすることはできません。スタック トレース: Microsoft.Sharepoint.SPRoleAssignment..ctor で ClientRequestHandler.CreateList(...
c# - Windows 7 / Server 2008でhostsファイルをプログラムで編集するにはどうすればよいですか?
開発目的でhostsファイルのエントリを管理するための小さなWPFユーティリティを作成しています。ご存知かもしれませんが、hostsファイルは新しいOS(Win 7/2008 / Vista)によって保護されています。
ここで(「簡単な方法」を使用して)詳細に説明し、関連する質問で、requestedExecutionLevelを「requireAdministrator」に設定するマニフェストをアプリケーションに追加しました。
残念ながら、これは私にはうまくいきませんでした。アプリを起動しても昇格プロンプトが表示されず、hostsファイルに対してFile.AppendTextを呼び出すと、System.UnauthorizedAccessExceptionがスローされます。「パス'C:\ Windows \ System32 \ drivers \ etc\hosts'へのアクセスは拒否された。"
HostsChanger.exe.manifest:
何か案は?
c++ - DuplicateHandle: OpenProcess が必要ですが、アクセスが拒否されました
Windows フックを使用してアプリケーションにメッセージを送信すると、システム上のすべてのアプリケーションから Windows イベントが通知されます。
メッセージ パラメータのマーシャリングを実行するには、共有メモリを使用します。外部プロセスはDuplicateHandleを呼び出しますが、アプリケーション インスタンスとハンドルを共有するために、PROCESS_DUP_HANDLE 特権要件でOpenProcessを呼び出す必要があります。
実際には、外部プロセスに対して SeDebugPrivilege を有効にする必要がある場合でも、すべてのアプリケーションがこのアーキテクチャを使用してメッセージを送信できます。SeDebugPrivilegeトークンを持たない「エクスプローラー」プロセスを除いて、実際には機能します...
AdjustTokenPrivilegesのドキュメントには次のように記載されています。
AdjustTokenPrivileges 関数は、アクセス トークンに新しい特権を追加できません。トークンの既存の特権を有効または無効にすることしかできません。トークンの権限を確認するには、GetTokenInformation 関数を呼び出します。
それで、問題は... SeDebugPrivilegeトークンを「エクスプローラー」プロセスに追加する方法、または代わりに「エクスプローラー」プロセスが呼び出すことを許可する方法OpenProcess(PROCESS_DUP_HANDLE, FALSE, pId)
ですか?
c# - UseShellExecute=falseでは特権の昇格は機能しません
昇格された特権でウィンドウを非表示にして、子プロセス(実際には同じコンソールアプリ)を開始したいと思います。
次に行います:
そしてこれは機能します:
しかしUseShellExecute = true
、新しいウィンドウが作成され、出力をリダイレクトすることもできません。
だから私が次にするとき:
これは特権を昇格させず、上記のコードはfalseを返します。なぜ??
sharepoint - 昇格されたセキュリティ コンテキストでの SharePoint PublishingWeb の変更が失敗するのはなぜですか?
RunWithElevatedPrivileges の下にある SharePoint の PublishingWeb 属性の更新に問題があります。「pubWeb.IncludeInCurrentNavigation = false;」という行で「このページのセキュリティ検証は無効です」という例外で失敗します。以下は、実行しようとしているコードです。通常、AllowUnsafeUpdates = true を設定できますが、publishingWeb にはこの特別なプロパティがありません。
私の質問は、昇格したコンテキストで PublishingWeb 属性を更新する適切な方法は何ですか?
c# - 昇格されたプロセスから昇格されていないプロセスを開始する
昇格されたプロセスとして実行されている私のプログラムは、新しいプロセスをProcess.Start()
.
セキュリティ上の理由から、これらの新しいプロセスを非昇格として実行したいと思います。
どうやってするか?
c# - Windows 7 で特権を昇格して Win32 API を呼び出す方法
Win32 関数を呼び出すコードは、Windows 7 では昇格モードで実行する必要があることを発見しSetDateTime
ました。つまり、管理者としてログインしている場合でも、日付を変更するには、Set Date コードを管理者として実行することを選択する必要があります。 .
昇格された特権で常にこの関数を呼び出すためにコードでできることはありますか?