問題タブ [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.
vbscript - ユーザーがVBScriptからの管理者権限を持っているかどうかを知るための最良の方法
スクリプトを実行しているユーザーがマシンの管理者権限を持っているかどうかを確認する必要があります。
「Runas」に似たものを使用してログオンした以外のユーザーでスクリプトを実行できた可能性があるため、スクリプトを実行するユーザーを指定しました。
@Javier:どちらのソリューションも、英語版のWindowsがインストールされているPCで機能しますが、インストールされている言語が異なる場合は機能しません。これは、Administratorsグループが存在しないためです。たとえば、スペイン語では名前が異なります。すべての構成で機能するソリューションが必要です。
mysql - MySQL ユーザーに最小限の権限のみを提供する
Web アプリケーションの場合、MySQL データベースに接続するユーザーを作成するときに、権限を選択できます。そのユーザーが実行することを意図した唯一のアクションがSELECT/INSERT/UPDATE/DELETEであると仮定すると、それらの権限のみを提供することは理にかなっているようですが、どこでも推奨されているのを見たことがありません-これの理由と反対の理由は何ですか方法?
windows - Windows XP の場合: 特定の 1 つのディレクトリにのみ読み取りアクセス権を持つユーザーを作成する方法は?
最初に述べさせてください: プログラムを実行したい (またはログインしたい) ユーザーは、(おそらく少なくとも) の Windows システム ディレクトリと共有ライブラリにアクセスする必要があることを知っていますが、%ProgramFiles%
そうしたいと思います。たとえば、特権のないユーザーで実行して Skype にアクセスできるようにし、不要なファイルにアクセスできないようにします。
これを行う唯一の方法は、このユーザーにアクセスさせたくないファイルを保存している無数のディレクトリをすべて特定し、これらのディレクトリにアクセスできる新しいユーザーグループを作成するか、Skype と Azureus を実行することです。 VM で。
より良い方法はありますか?
.net - 管理者権限がなくても .NET フレームワークをマシンに配置できますか?
私が構築しているアプリケーションには、.NET フレームワークが必要です。残念ながら、エンド ユーザーには管理者権限がありません。管理者権限なしで .NET をインストールできないことはわかっていますが、ユーザーが管理者権限を必要としないように、あらかじめパッケージ化されたバージョンの .NET をシステムに組み込むことは可能ですか? 可能であれば、どうやってそれを行うのですか?私が聞いたアプローチの 1 つは、必要な .dll ファイルを実行可能ファイルと同じフォルダーに配置することですが、うまくいかないようです。
前もって感謝します。
vbscript - VBscript を使用してユーザー権限を読み取る
ユーザー (実行者の有無にかかわらず、スクリプトを実行しているユーザー) に特定のユーザー権利ポリシーが適用されているかどうかを判断しようとしています。secedit /analyzeは実際の設定のみを参照し、グループ メンバーシップによる権限の伝播を無視するため、この場合は役に立ちません。
これらの特権について言及しています: SeTcbPrivilege SeIncreaseQuotaPrivilege
c# - プロセスが管理者として実行されているかどうかを確認するにはどうすればよいですか?
Visual Studio 2008が管理者として実行されているときにタイトルバーに「管理者」を表示するのと同様に、プロセスが管理者として実行されていないときではなく、管理者として実行されているときにいくつかの追加のUI要素を表示したいと思います。どうすればわかりますか?
c++ - プロファイラーに管理者権限が必要な理由 (Windows)
Windows 上のネイティブ C++ プログラム用のプロファイラーとメモリ チェック ツールを評価してきましたが、それらはすべて管理者権限でインストールして実行したいと考えています。自分のマシンに管理者としてログインすることはめったにありません。何かをインストールしたり、管理者特権を必要とする何かを実行したりする必要がある場合は、runas を使用します。
プロファイラーが管理者権限を要求するのは正当なことですか? それとも、プロファイラーの開発者が単に怠惰なだけなのでしょうか? これに基づいてこれらのツールをすべて拒否するのは不合理でしょうか?
XP Pro マシンで VS 2005 を使用して開発しています。
windows - WindowsXPで管理者権限で実行されているかどうかを検出します
ユーザーがWindowsXPで管理者権限を使用して実行されているかどうかを検出する方法を見つけようとしています。これは、 whoamiコマンドのおかげで、Vista/Win7ではかなり簡単に実行できます。これは、Vistaでそれを行う方法のRubyのスニペットです。
次のリンクには、muteWによって提案されたソリューションが組み込まれていることに注意してください
問題は、whoamiにはWindows XPが付属していないため、管理者として実行している場合でも、上記のリンクされたメソッドはWinXPでは常にfalseを返します。
では、Ruby、コマンドラインツール、バッチファイル、さらにはサードパーティ(実際にはオープンソースである必要があります)ツールを使用して、Windows XPで管理者として実行されているかどうかを検出する方法を知っている人はいますか?
c# - 必要な場合にのみ特権を昇格させる方法は?
この質問はWindowsVistaに当てはまります。
通常は管理者権限がなくても動作するアプリケーションがあります。管理者権限を必要とするアクティビティが1つありますが、ほとんどの場合、ユーザーがその機能を使用しないことがわかっている場合は、アプリケーション自体をより高い権限で起動したくありません。
あるイベント(ボタンを押すなど)でアプリケーションの権限を上げることができる特定の方法を考えています。例:
ユーザーがこのボタンをクリックすると、UACダイアログまたは同意が表示されます。これどうやってするの?
c# - C# から CreateProcessAsUser を呼び出す
Windows APIの関数を使用して、特定のユーザーのコンテキストで新しいプロセスを作成しようとしましたがCreateProcessAsUser
、かなり厄介なセキュリティの問題が発生しているようです...
詳しく説明する前に、新しいプロセスを開始するために現在使用しているコードを次に示します (コンソール プロセス - 具体的には PowerShell ですが、問題にはなりません)。
ここでの問題のために、環境変数を扱うコードは無視してください (私はそのセクションを個別にテストしましたが、うまくいくようです)。
今、私が得るエラーは次のとおりです(への呼び出しに続く行でスローされますCreateProcessAsUSer
):
「必要な権限がクライアントに保持されていません」(エラー コード 1314)
(エラー メッセージは、Win32Exception コンストラクターからメッセージ パラメーターを削除することによって発見されました。確かに、ここでのエラー処理コードは最適ではないかもしれませんが、それは多少無関係な問題です。ただし、必要に応じてコメントしてください。 ) この状況でのこのあいまいなエラーの原因について、私は本当にかなり混乱しています。MSDN のドキュメントやさまざまなフォーラム スレッドからは多くのアドバイスしか得られませんでした。特に、このようなエラーの原因はさまざまであるため、コードのどのセクションを変更する必要があるのかわかりません。おそらく、変更する必要があるのは単に 1 つのパラメーターにすぎませんが、私が知っているすべてに対して、間違った/不十分な WinAPI 呼び出しを行っている可能性があります。私を大いに混乱させるのは、プレーンを使用するコードの以前のバージョンがCreateProcess
関数(ユーザートークンパラメーターを除いて同等)は完全に正常に機能しました。私が理解しているように、Logon ユーザー関数を呼び出して適切なトークン ハンドルを受け取り、それを複製して に渡せるようにするだけで済みますCreateProcessAsUser
。
コードの変更や説明の提案は大歓迎です。
ノート
私は主に MSDN のドキュメントを参照してきました ( C# の関数/ストラット/列挙型の宣言についてはPInvoke.netも同様です)。特に次のページでは、備考セクションに多くの情報が含まれているように見えますが、そのうちのいくつかは重要であり、私にはわからない可能性があります。
編集
Mitch の提案を試してみましたが、残念ながら古いエラーが新しいエラーに置き換えられました。「指定されたファイルが見つかりません。」(エラーコード 2)
以前の への呼び出しCreateProcessAsUser
は、次のように置き換えられました。
MSDNのドキュメントが示唆しているように、このコードは重複したトークンではなく元のトークンを使用していることに注意してください。
を使用した別の試みを次に示しCreateProcessWithLogonW
ます。今回のエラーは「ログオン失敗: 不明なユーザー名またはパスワードが正しくありません」(エラーコード1326)
また、ユーザー名を UPN 形式 ("Alex@Alex-PC") で指定し、2 番目の引数としてドメインを個別に渡そうとしましたが、すべて役に立ちませんでした (同一のエラー)。