ウィンドウズNTのセキュリティについての権限と特権について

このQ&Aのポイント
  • ウィンドウズNTのセキュリティについて調べています。権限とは、そのプロセスを起動したユーザーが持つ操作権限のことであり、特権はシステム関連の操作を行う権限です。特権はデフォルトでオフになっているものもあります。
  • 権限によって持っている特権が決まります。特権のON、OFFについては、権限が足りない場合には特権をONにすることができません。特権と権限は関係しており、権限が昇格させられるかどうかも影響します。
  • 権限と特権についての回答をお願いします。
回答を見る
  • ベストアンサー

権限=プロセスを実行したユーザー?

権限=プロセスを実行したユーザー? ウィンドウズNTのセキュリティについて調べています。 権限という言葉がよくでてきますが、それはつまりそのプロセスを起動したユーザーということですか? そして特権についてですが、特権はシステム関連の操作を行う権利で、特権によってはデフォルトでオフになっているものもある、という考えであっているでしょうか。 そして、「そもそも権限が足りないから特権をONにできない」という様な記述をみたのですが、ということは、権限によって持っている特権が決まるということですよね? またこの権限は昇格させられますか? という事で、質問したい点は ・権限とは? ・特権のON、OFFについて ・特権と権限の関係 ・権限は昇格させられるか? の4つです。 どれか1つでもので回答よろしくお願いします。

noname#117956
noname#117956

質問者が選んだベストアンサー

  • ベストアンサー
  • 0909union
  • ベストアンサー率39% (325/818)
回答No.1

>それはつまりそのプロセスを起動したユーザーということですか ケースバイケースです。プロセスやアプリケーションの起動の事についての記事であれば、その通りです。 オブジェクトへのアクセス権(ファイルやフォルダーのアクセス権が有るもの)。OS操作への権限(グループや、特殊サービス操作権(プロセスとは違う))。など、それぞれの権限があり特定されるものでない。 たぶん、これを聞いて来たと言う事はその読んだ文献が何について記載されているのか、全く把握していないのでしょう。 よく間違えるのがプログラム開発とシステム構築の文献。 プログラム開発は、時として(特にマイクロソフト関係)、翻訳のまま記載されていることが多く、勘違いしやすく使われている。いい語訳がないのでしょう。「権限」の一言でかたずけている。日本語でいえば、「はい」と同じです(肯定でも否定でも使われる)。英語訳だと「Yes」だが、「はい、違います」と言う会話が成り立つ。 その事を踏まえて、「特権」とある記事のチャプターでは「実行権」の話をしている。これは、「OSの操作権」とも「ファイルなどのアクセス権」ともからむ話だが、通常、システムへの状態変更、アクセス制御が掛かったオブジェクトや領域へアクセスするための権限には、管理者権限とか、特殊な権利を有する。 システム管理書では、この「オブジェクトや領域へアクセスするための権限」の話をしており、「プログラム開発」では「実行権」の事。 こう考えれば、わかりやすい。 ・権限とは、いくつかの特権の塊が権限を形成する。 特権その1。システムをダウンする (クライアントOSだとevryoneに与えられている) 特権その2。ユーザーのオブジェとを奪い取ることができる。 特権その3。ユーザーを作成できる。 これらを集めて固めたのが 権限:神様 となる。マイロソフトではAdministrator、UNIX系では rootの事を指す。 このやり方は、OSやデーターベースなどツリー構造を必要とするシステムではほとんどこれである。会社組織もそうですね。 社長の最高権限は、人事権にある。これは特権なのだろうか? この特権は、人事部長にもあるし、最下位の係長にもある。これは権限の委譲が行われているからである。あなたは、「制限付きで人事権を与えます」と言う感じですかね。 この特権を沢山持っていて、最終執行者がCEOですよ。他の方は、これらの特権のいくつかしかもっていなく、CEOの権限で、特権を与えられているに過ぎない。 実際の会社の仕組みに合わせると、酷似しているのでよくわかるはずです。 これであと残った質問は、権限は昇格させれれるか。できます。先ほども実社会で例を示しましたが、最高責任者が、あなたは今日からCEOです。と言ったらCEOです。 そのCEOが、OSの世界だと管理者IDであり、パスワード。又は電子証明書(PKIの承認など)。 オラクルなどでは「ロール」と呼ばれいる。マイクロソフトでは「Admin... s 」のようにグループで表現されている、特権をいくつか組み合わせた、特権グループが存在する。 オラクルではDBA権限といい「Admin..sグループ」となるわけ。下記に特権の例を示す。 wbemPrivilegeCreateToken 0x1 Required to create a primary token. wbemPrivilegePrimaryToken 0x2 Required to assign the primary token of a process. ・・ wbemPrivilegeMachineAccount 0x5  Required to create a machine account. wbemPrivilegeTcb 0x6 Identifies its holder as part of the trusted computer base. これらは、ユーザーに付与されるもので、プロセスに付与されるものでない。つまり、プロセスを実行する時に、実行権限を特定に与えますと、OSにシグナルを送るための免罪符としてプロセスのヘッダーに張られ、それを読み取ったOSが、「OK管理者じゃないけど管理者が持っている特権を渡されたのね」として実行するのねと、理解してくれる。 それが、権限の昇格あり、特権のOn、Offであり、特権と権限の関係。 まあ、オラクルの「ロール」を勉強してください。よくDBやシステムは使われる言葉なので知っておいて得することはあるが、損することはない。

noname#117956
質問者

お礼

わかりやすい説明でした! 権限についての説明が探してもなくて困ってたんですよ。 回答ありがとうございました。

関連するQ&A

  • 既存プロセスの管理者権限への昇格

    自身で管理者権限に昇格する機能をもたないアプリケーションは通常「管理者権限で実行」を行いますが、すでにユーザー権限で実行されているプロセスに対し、アプリケーションを終了することなく外部から管理者権限への昇格を行うことはできないでしょうか? 方法があればご教授お願いします。コマンドラインでの操作が行えればなおよいです。(GUIでもOK) なおOSはWindows7 32bitです。

  • 特定プロセスの権限情報を取得できる?

    お世話になります。 WindowsVista以降において権限周りが厳しくなったことで、UIPIにより別プロセスのウィンドウへのPostMessage等がブロックされるケースが出て難儀しています。 対応策を調べたところ、自アプリが昇格しないで通信する方法と、昇格する方法があるようですが、 昇格しない場合はインストール先が制限されること、最初から昇格していては不要な場合までも高い権限レベルで起動してしまうことから、アプリ実行中に必要な場合だけ昇格する方向を模索しています。 通信周りをCOM化すれば通信可能らしい、というところまでは調べたのですが、必要な場合かどうかの判定をどうすれば良いかが分かっていません。 VC++で通信相手のウィンドウハンドルを取得したところから、そのウィンドウを持つプロセスの権限情報を取得可能でしょうか? また、自アプリの現在の権限レベルを確認する手段はあるでしょうか? 以上です。宜しくお願いします。

  • SYSTEM権限でプロセス機動

    いつもお世話になっております。 ただ今仕事で業務アプリを開発しているのですが、題記の件で立ち往生しております。 有識者の方がいらっしゃいましたら、ご教授いただければ幸いです。 【やりたいこと】 Windows2000Server,及びWindowsServer2003上でアプリを実装したときに、 ログオフでアプリケーションを殺さないようにする。 【経緯】 WindowsServer2008対応にて、今までセッション0でダイアログ表示を 行っていたアプリをユーザセッションに表示するように変更しました。 その際にUIを行うプロセスを新たに起動(CreateProcessAuUser()を用いて) するようにしたのですが、このUIを起動するとログインユーザ(Administrator権限) になってしまいます。 タスクマネージャ上でユーザがSYSTEMになっているプロセスは ログオフ後にログインしなおすとそのままアプリが残っているのに対し、 UIプロセスはWindowsによって異常終了してしまいます。 このことから、SYSTEM権限でプロセスを起動すれば良いのではないか? っと考えたのですが、はたして可能なのでしょうか? ・サービスプログラムからの起動 ・ATコマンドを使用して起動 ・スクリプト起動?(すいません、これはイマイチ分かっていません) 上記の場合にはSYSTEMになるということはわかったのですが、 SYSTEMで起動しているプロセスから起動することは可能なのでしょうか。 もし可能な場合どのように起動すればよいのかを教えていただきたく、よろしくお願いいたします。 尚、WindowsServer2008上ではプロセスが死ぬことは仕様としてあるのですが、 過去バージョンと同等機能(ログオフしてもプロセスが生きている)を維持しなくてはならないため、 本件のような仕様になっています。 どうぞよろしくお願いいたします。

  • こういう場合の適切なユーザー権限はどうなるのでしょうか?

    Windows2000serverでActiveDirectoryを構築しました。 通常のユーザーは「domain users」で問題ないのですが プログラマがこの権限だとプログラム作成時や実行時に 新規フォルダを「Program Files」内に作れない、必要なDLLにアクセス権限がないと等のエラーが出ます。 かといって「Domain Admins」だとセキュリティ上好ましくないと思いますし。 こういった場合、どのような権限で運用すればいいでしょうか? よろしくお願いします。

  • [VB6]プログラムの実行ユーザについて、管理者権限の有無を確認したい

    作成しているプログラムについて、環境ファイルの書き出しなどを行いたいと考えているのですが、書き出し先をProgramFiles内にしたいと思っています。 この場合、NT系のOSでは、管理者権限がないと書き換えができないので、プログラムの実行ユーザの権限を確認し、権限がない場合は、処理を禁止したいと考えていますが、この場合、どのような方法で確認をすればいいでしょうか。 VB.Netでは、専用の関数があるようなのですが・・・。 よろしくお願いいたします。

  • Windows vistaでの管理者権限について

    Windows vista SP2で、あるコマンドをコマンドプロンプトで実行したのですが、”この操作を実行するのに十分な特権がありません。”と出てしまいます。もちろん、ログインしているのはadministrator権限はあります。 実行したコマンドは、次の通りです。 mklink /d "C:\Users\yasu\AppData\Local\Google\Chrome\User Data\Default\Cache" "D:\Google\cache" 困っています、宜しくお願い致します。

  • HULFTのBAT実行権限

    コマンドプロンプトで実行できるBATファイルを、HULFTというツールで実行しようとすると システムエラー「1314:クライアントは要求された特権を保有していません」になります。 この場合どのような設定がされていると考えられますか? 人から質問されたことで、BATは作成したのですが、HULFT自体は触った事がありません。 HULFTにはAdministrators権限のユーザーとパスワードを 設定してあるそうです。 こんな事が考えられる程度でいいです。 宜しくお願いします。

  • 一般ユーザ権限ドメインログオン状態でローカルにある管理者権限アプリを実行する方法

    普段は一般ユーザ権限でアクティブディレクトリドメインにログオン しています。 ドメインをログオフせず、ローカルコンピュータにあり管理者権限で ないと動作しないアプリケーションを実行ししたいのですが、そのよ うな設定出来るのでしょうか? 私のイメージとしては、ネットワーク資源を使うときはドメイン権限 で、ローカル資源を使うときはローカルの管理者権限でログオフ無し で動作する環境を考えていますが出来ないでしょうか? いつもは、一度ドメインをログオフし、管理者権限でローカルログオ ンして使っていますが、利用者すべてにそのような操作を行ってもら う事が困難です。 また、ドメインログオンを管理者権限にすればアプリを実行させる事 に関しては解決するのですが、そのよう事は出来ません。 よろしくお願いします。

  • Apacheの実行権限について

    Apacheがユーザーディレクトリに、ディレクトリを作成したり画像を(アップロードして)作成したりする場合、以下のように設定していますができません。 httpd(子プロセス)の実行ユーザー/グループはそれぞれapacheです。 親プロセスはrootになっています。 以下のディレクトリは次のようになっています。 (ドキュメントルートはwordpressです) /var/www/html/projectName/wordpress/wp-content/uploads drwxrwxr-x(775) owner=yamada group=apache このように、group(apache)に書き込み権限を与えているのですが、uploads以下にディレクトリやファイルの作成ができません。このディレクトリのownerをapacheにするとできるようになります。 apacheユーザーはapacheグループに属しているので、書き込み権限(w)をもってディレクトリの作成やファイルの作成ができるはず、という認識だったのですがなぜかできません。私の認識が間違っているのでしょうか。

  • ASP.NETのユーザー権限について

    ASP.netとACCESSを接続しています。 INSERT文を記述して実行したところ、「更新可能なクエリであることが必要です」というエラーメッセージがでました。 これはmdbを保存しているフォルダにASP.netのユーザー権限がないから起こるエラーのようですが、ASP.netのユーザー権限はどのように設定するのでしょうか? ご存知の方がおられましたら教えて下さい。