説明

情報処理プログラムおよび情報処理方法

【課題】コマンドの属性によって、実行可能なユーザが制限されるコンピュータで、円滑にコマンドを実行する。
【解決手段】情報処理装置1は、コマンドの属性とコマンドを実行可能なユーザ名とを対応づけたコマンド実行ユーザデータ12を、記憶装置10に記憶する。情報処理装置1のサービスは、コマンドの実行が要求されると、コマンド実行ユーザデータ12から、されたコマンドを実行可能なユーザ名を抽出し、抽出されたユーザ名でコマンドを実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コマンドの属性によって、実行可能なユーザが制限されるコンピュータで実行される情報処理プログラムおよび情報処理方法に関する。
【背景技術】
【0002】
昨今コンピュータの利用において、様々な機器が用いられている。その機器の一つにUPS(無停電電源装置:Uninterruptible Power Supply)がある。UPSは、停電によりコンピュータへの電力供給が停止するのを回避するため、一定時間、電力供給を継続することのできる電源装置である。
【0003】
このような機器を適切に利用するため、これらの機器を管理するためのアプリケーションプログラムが必須となっている。このような管理プログラムは、例えば、UPSが稼働を開始したタイミングを知らせる方法を設定したり、UPSが稼働した際にバックアップを実行する指示などを設定することができる。
【0004】
一方コンピュータのオペレーションシステムは、セキュリティを強化するために、ユーザアカウント制御(UAC)を適用する場合がある。ユーザアカウント制御によって、特定のコマンドについては、特定のユーザのみが実行可能となる。例えば、特定のユーザのための記憶領域には、そのユーザのみがアクセス可能とすることができる。また、コンピュータは、SYSTEMユーザのみが、コンピュータ全体の制御に係るコマンドを実行できるよう制限されている。このように、ユーザアカウント制御によって、セキュリティを強化し、安定したオペレーションシステムを提供することができる。
【0005】
近年のセキュリティ強化の傾向に伴って、任意のログインユーザが実行可能なコマンドが制限される場合がある。具体的には、特定のコマンドが実行される際、オペレーションシステムは、「このコマンドを実行して良いか?」と問い合わせる画面を表示する。この場合、ユーザがOKボタンを押下するなどにより明示的に指示を与えた場合のみ、コマンドが実行される。
【0006】
これにより、円滑にアプリケーションを実行することが困難な場合がある。具体的には、ユーザは、問い合わせ画面に対して明示的な指示を入力するために、コンピュータの前に待機する必要がある。従って、コンピュータを無人で運用することが困難となる。特に、上記のUPSにおいては、コンピュータへの電力の供給に緊急性を要する場合が多く、セキュリティ強化による弊害は甚大になるおそれがある。
【0007】
これを回避するため、非特許文献1は、管理者として実行させる設定を設けて、アプリケーションを管理者権限で実行させる案を提案している。また非特許文献1は、このような昇格を必要としないアプリケーションを設計する方法も提案している。
【0008】
また非特許文献2は、古いオペレーションシステムでは、セキュリティが緩いことを利用して、アプリケーションを実行する方法を提案している。非特許文献2は、アプリケーションを古いオペレーションシステムで稼働させる互換モードを開示する。互換モードにおいてアプリケーションは、セキュリティの緩い古いオペレーションシステム上で稼働することにより、セキュリティ強化による弊害を回避する。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】”アプリケーション開発者向け Microsoft(R) Windows 7 対応アプリケーションの互換性”,[online],Microsoft Corporation,2010年7月27日,[平成23年10月31日検索],インターネット<http://download.microsoft.com/download/B/0/6/B06C5017-9589-4B43-BC18-24052C3C3F15/Windows7_Compatibility.docx>
【非特許文献2】”アプリケーション開発者向け Microsoft(R) Windows 7 対応アプリケーションの互換性”,[online],Microsoft Corporation,2010年7月27日,[平成23年10月31日検索],インターネット<http://msdn.microsoft.com/ja-jp/windows/dd882526>
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、上記の非特許文献に記載の方法は、十分な対応策ではないと考えられる。
【0011】
例えば、非特許文献1に記載の方法では、アプリケーションを変更する必要はないものの、アプリケーションの属性を個別に設定する必要がある。また、現状のオペレーションシステムでは、互換モードを利用して古いオペレーションシステムでの運用を許可する機能を提供するものの、この機能の提供が恒久的に保証されているわけではない。従って、ユーザアカウント制限による不具合が発生しないように、アプリケーションを開発する必要があり、アプリケーション開発者に負担を強いる場合がある。また、セキュリティ強化の観点で、オペレーションシステムがアクセス制限を設けた趣旨を没却してしまうおそれもある。
【0012】
従って本発明の目的は、コマンドの属性によって、実行可能なユーザが制限されるコンピュータで、円滑にコマンドを実行可能な情報処理プログラムおよび情報処理方法を提供することである。
【課題を解決するための手段】
【0013】
上記課題を解決するために、本発明の第1の特徴は、コマンドの属性によって、実行可能なユーザが制限されるコンピュータで実行される情報処理プログラムに関する。即ち本発明の第1の特徴に係る情報処理プログラムは、コンピュータを、当該コンピュータのメモリに常駐して、サービスを提供するサービス提供手段として機能させる。サービス提供手段はさらに、コマンドの実行を要求されると、コマンドの属性とコマンドを実行可能なユーザ名とを対応づけたコマンド実行ユーザデータから、要求されたコマンドを実行可能なユーザ名を抽出し、抽出されたユーザ名でコマンドを実行する。
【0014】
ここで、サービス提供手段は、当該コンピュータで機能するコマンド要求手段または、通信ネットワークから、コマンドの実行の要求を受ける。またサービス提供手段は、新たなプロセスを生成し、そのプロセスで、抽出されたユーザ名でコマンドを実行しても良い。
【0015】
本発明の第2の特徴は、コマンドの属性によって、実行可能なユーザが制限されるコンピュータでコマンドを実行する情報処理方法に関する。即ち本発明の第2の特徴に係る情報処理方法は、コマンドの属性とコマンドを実行可能なユーザ名とを対応づけたコマンド実行ユーザデータを、記憶装置に記憶するステップと、コンピュータのメモリに常駐して、サービスを提供するステップと、サービスが、所定のユーザのみが実行可能なコマンドの実行の要求を受けるステップと、コマンドの実行が要求されると、コマンド実行ユーザデータから、要求されたコマンドを実行可能なユーザ名を抽出し、抽出されたユーザ名でコマンドを実行するステップを備える。
【0016】
ここで、要求を受けるステップは、当該コンピュータまたは通信ネットワークから、コマンドの実行の要求を受ける。またコマンドを実行するステップは、新たなプロセスを生成し、そのプロセスで、抽出されたユーザ名でコマンドを実行しても良い。
【発明の効果】
【0017】
本発明によれば、コマンドの属性によって、実行可能なユーザが制限されるコンピュータで、円滑にコマンドを実行可能な情報処理プログラムおよび情報処理方法を提供することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の実施の形態に係る情報処理方法を説明するフローチャートである。
【図2】本発明の実施の形態に係る情報処理装置のハードウェア構成と機能ブロックを説明する図である。
【図3】本発明の実施の形態に係る情報処理装置のユーザ設定データのデータ構造とデータの一例を説明する図である。
【図4】本発明の実施の形態に係る情報処理装置において、UPSの警告を通知時のコマンドを設定する画面の一例である。
【図5】本発明の実施の形態に係る情報処理装置において、UPSのアラームを通知時のコマンドを設定する画面の一例である。
【図6】本発明の実施の形態に係る情報処理装置のコマンド実行ユーザデータのデータ構造とデータの一例を説明する図である。
【発明を実施するための形態】
【0019】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【0020】
本発明の実施の形態に係る情報処理方法は、情報処理装置1に用いられる。情報処理装置1は、コマンドの属性によって、実行可能なユーザが制限されるコンピュータである。
【0021】
コンピュータのセキュリティを強化するために、オペレーションシステムは、ユーザアクセス制限を設けている。従って、権限を持たないユーザがログインをしてアプリケーションを起動した際、ユーザアクセス制限により、コマンドの実行確認の画面が表示されるなど、コマンドが正しく起動されない場合がある。特にコマンドの実行確認の画面が表示され、OKボタンが押下されない限りコマンドが実行されないことになる。ユーザアクセス制限が設けられたコンピュータにおいて、緊急性を要するコマンドを実行しづらい場合がある。
【0022】
そこで本発明の実施の形態に係る情報処理方法において、アプリケーションプログラムの実行時にユーザアクセス制限を受けるコマンドが生じると、アプリケーションプログラムは、サービスにこのコマンドの実行を要求する。サービスは、実行を要求されたコマンドについて、このコマンドを実行可能なユーザを特定する。サービスは、オペレーションシステムのAPI(Application Program Interface)などを用いて、実行可能なユーザに切り替えてコマンドを実行する。
【0023】
ここで、アプリケーションプログラムは、ユーザのログイン時に実行されるプログラムである。アプリケーションプログラムは、ユーザの操作によって起動したり、ユーザのログインによって起動する。一般的にアプリケーションプログラムは、情報処理装置1の入出力装置を用いて、ユーザからの指示に基づいてデータを処理し、その結果を画面に表示する。例えば、UPSを管理するためのアプリケーションプログラムは、UPSを管理および制御するためのパラメータを設定する画面を表示したり、ユーザによって設定されたパラメータを、所定の記憶領域に記憶する。
【0024】
一方サービスは、情報処理装置1のメモリに常駐して、画面を表示することなく、バックグラウンドで実行する。一般的にサービスは、所定のイベントを検知し、その検知に基づいてデータを処理する。例えば、UPSを管理するためのサービスは、UPSを監視し、必要に応じて、データを処理する。本発明の実施の形態においては、「サービス」という名称で説明するが、オペレーションシステムによっては、「デーモン」と呼ばれる場合もある。
【0025】
図1を参照して、本発明の実施の形態に係る情報処理方法を説明する。まず図1(a)に示すように、ステップS1において情報処理装置1は、イベントの検出を待機する。本発明の実施の形態においてイベントは、どのようなものでも良い。本発明の実施の形態において「イベント」は、例えば、UPSに関する重要な事象を通知する警告や、軽微な事象を通知するアラームなどを含む。
【0026】
イベントを検出すると、ステップS2において情報処理装置1は、このイベントをユーザに通知するためのコマンドを取得する。さらに情報処理装置1は、取得したコマンドでのイベントの通知を、サービスに要求する。このコマンドは例えば、ログ表示、ポップアップ表示、メール通知などである。その後、ステップS3において情報処理装置1は、情報処理装置1内で実行中のサービスで、ステップS2で取得したコマンドを実行する。
【0027】
さらにステップS4において情報処理装置1は、イベント検出時に実行するコマンドがある場合、このイベント検出時に実行するコマンドの実行を要求する。このイベント検出時に実行するコマンドは、ユーザが任意に設定可能なコマンドである。ここで実行されるコマンドは、例えば、データのバックアップなどである。その後、ステップS5において情報処理装置1は、情報処理装置1内のサービスで、ステップS4で取得したイベント検出時のコマンドを実行する。
【0028】
図1(b)を参照して、図1(a)のステップS3およびステップS5のコマンド実行処理を説明する。図1(b)の各処理は、情報処理装置1で常駐するサービスによって実行される。
【0029】
ステップS11において情報処理装置1は、実行するべきコマンドを取得する。さらにステップS12において情報処理装置1は、このコマンドを実行可能な実行ユーザ名を特定し、ステップS13において、実行ユーザによって処理を振り分ける。
【0030】
実行ユーザがログインユーザの場合、ステップS14において情報処理装置1のサービスは、このログインユーザで、ステップS11で取得したコマンドを実行する。実行ユーザがSYSTEMの場合、ステップS15において情報処理装置1のサービスは、SYSTEMに切り替えて、SYSTEMとしてステップS11で取得したコマンドを実行する。実行ユーザがログイン中のユーザでない場合、ステップS16において情報処理装置1は、指定されたユーザ名に切り替えて、指定されたユーザとしてステップS11で取得したコマンドを実行する。
【0031】
図2を参照して、本発明の実施の形態に係る情報処理装置1を説明する。情報処理装置1は、記憶装置10、中央処理制御装置20、メモリ(図示せず)、入力装置(図示せず)、表示装置(図示せず)、通信制御装置(図示せず)等を備える一般的なコンピュータである。記憶装置10は、ハードディスクなどの記憶媒体である。中央処理制御装置20は、オペレーションシステムなどを介して、情報処理装置1の各装置との入出力を制御し、データを処理する。
【0032】
通信制御装置は、他の通信機器との情報を送受信し、中央処理制御装置20に入出力する。本発明の実施の形態においては情報処理装置1は、例えば、管理対象のUPSと、通信制御装置を介してデータを送受信する。また通信制御装置は、他のネットワークを介して、他の情報端末入力されたコマンドの実行要求を受信し、中央処理制御装置20に入力しても良い。ここで、他の情報端末とは、当該情報処理装置1ではないコンピュータや、通信機能を備えたUPSなどの機器である。
【0033】
記憶装置10は、本発明の実施の形態に係る情報処理プログラムを記憶するとともに、ユーザ設定データ11およびコマンド実行ユーザデータ12を記憶する。中央処理制御装置20は、本発明の情報処理プログラムがインストールされ、実行されることによって、アプリケーション実行手段30およびサービス提供手段40を実装する。
【0034】
アプリケーション実行手段30は、所定の処理を実行するアプリケーションプログラムを実行する。アプリケーション実行手段30は、設定手段31、イベント検出手段32、イベント通知コマンド要求手段33およびユーザ設定コマンド要求手段34を備える。
【0035】
設定手段31は、ユーザの操作によって、ユーザ設定データ11を生成し、記憶装置10に記憶する。
【0036】
ユーザ設定データ11は、情報処理装置1で実行するコマンドに関するデータである。ユーザ設定データ11は、コマンドを実行するタイミングと、実行するコマンドを対応づけたデータである。このユーザ設定データ11で記憶されるコマンドは、どのユーザも実行可能なコマンドや、所定のユーザのみが実行可能なコマンドを含む。
【0037】
ユーザ設定データ11は、図3に示すように、イベント通知コマンドに関するデータと、ユーザ設定コマンドに関するデータとを含む。イベント通知コマンドに関するデータは、イベント発生を通知するコマンドに関するデータである。ユーザ設定コマンドに関するデータは、ユーザが任意で設定したイベント発生時に実行するコマンドに関するデータである。ユーザ設定データ11は、イベントの種別ごとに、イベント通知コマンドおよびユーザ設定コマンドを対応づける。
【0038】
ここでイベント種別は、アプリケーション実行手段30がコマンドをサービス提供手段40に要求する条件となるイベント種別である。図3に示すユーザ設定データ11では、UPSに関する警告やアラームなどのイベントが発生した際に、アプリケーション実行手段30がコマンドをサービス提供手段40に要求するコマンドについて説明するが、これに限られない。例えば、コマンドを定期的に実行する場合、イベント種別として、コマンドを実行する時間情報を設定しても良い。
【0039】
図3のユーザ設定データ11のイベント通知コマンドのデータは、イベントが発生した際に、ユーザにイベントの通知を通知する方法を特定するデータである。アプリケーション実行手段30は、イベントが発生した際、ユーザ設定データ11のイベント通知コマンドで設定された方法でユーザにイベントを通知するためのコマンドを特定し、そのコマンドの実行をサービス提供手段40に要求する。図3においては、「有効」と設定されたコマンドでユーザにイベントを通知する。
【0040】
図3に示す例において、「バッテリ運転」のイベントが発生すると、ユーザに、「ログ表示」、「ポップアップ通知」および「メール通知」の3つの方法で通知する。ここで「ログ表示」は、当該情報処理装置1のログデータに記憶して、ユーザに通知する方法である。「ポップアップ通知」は、当該情報処理装置1の表示装置にポップアップ画面を表示して、ユーザに通知する方法である。「メール通知」は、予め登録したメールアドレス宛にメールを送信して、ユーザに通知する方法である。
【0041】
図3のユーザ設定データ11のユーザ設定コマンドのデータは、イベントが発生した際に、ユーザによって任意に設定された情報処理装置1が実行するコマンドに関するデータである。ユーザ設定コマンドのデータは、有効または無効のフラグ、コマンドパスおよびコマンドの実行属性を備える。アプリケーション実行手段30は、イベントが発生した際、当該イベントに対応するフラグが有効に設定されている場合、コマンドパスで指定されたコマンドを、実行属性で指定された属性で実行するように、サービス提供手段40に要求する。コマンドパスは、情報処理装置1の記憶装置10に記憶されたコマンドの格納場所を特定する情報である。
【0042】
実行属性は、このコマンドを実行する際の属性の情報である。この実行属性は、図6を参照して説明するコマンド実行ユーザデータ12のコマンド属性に対応する。実行属性として、「バックグラウンド」が指定されている場合、画面表示のコマンドを含まず、バックグラウンドでコマンドが実行される。「対話型」が指定されている場合、例えばコマンドの実行の適否を確認する画面表示して、ユーザからの指示の入力により動作するコマンドが実行される。この「対話型」は、コマンド実行ユーザデータ12の「画面表示」に対応する。任意ユーザのパスワードが指定されている場合、実行属性で指定されたユーザ名およびパスワードで任意ユーザがログインした状態で、この任意ユーザの権限でコマンドが実行される。
【0043】
設定手段31は、図4および図5に示す画面に対するユーザの入力によって、ユーザ設定データ11を生成する。図4は、UPSに関する警告のイベントに関して、イベントごとに、実行するコマンドに関する情報を入力させる画面である。図4に示す画面は、警告イベントに関して、各イベントごとに、ユーザコマンド設定部401および警告通知方法設定部402を備える。
【0044】
ユーザコマンド設定部401は、ユーザ設定データ11のユーザ設定コマンドを生成するためのデータ入力部である。ユーザコマンド設定部401の各データ項目は、ユーザ設定データ11のユーザ設定コマンドの各データ項目に対応する。なお、「テスト実行」ボタンは、コマンドパスで指定されたコマンドをテストで実行するボタンである。警告通知方法設定部402は、ユーザ設定データのイベント通知コマンドを生成するためのデータ入力部である。警告通知方法設定部402の各データ項目は、ユーザ設定データ11のイベント通知コマンドの各データ項目に対応する。
【0045】
図5に示す画面は、UPSに関する状態通知イベントに関して、イベントごとに、実行するコマンドに関する情報を入力させる画面である。図5に示す画面は、各イベントごとに、ユーザコマンド設定部501および状態通知方法設定部502を備える。ユーザコマンド設定部501および状態通知方法設定部502は、図4を参照して説明したユーザコマンド設定部401および警告通知方法設定部402と同様である。
【0046】
図4および図5に示す画面において、ユーザがイベントごとに実行するコマンドを指定すると、設定手段31は、イベントの識別子と、そのイベント時に実行するコマンドのデータとを対応づけてユーザ設定データ11を生成し、記憶装置10に記憶する。設定手段31がユーザ設定データ11を生成すると、ユーザ設定データ11は、アプリケーション実行手段30およびサービス提供手段40で適宜参照される。
【0047】
ここでは、ユーザ設定データ11を生成する際の処理を説明したが、図4および図5に示す画面を用いて、ユーザ設定データ11が更新されてもよい。
【0048】
イベント検出手段32は、ユーザ設定データ11の「イベント種別」で指定されるイベントを検出する。イベント検出手段32の処理は、図1(a)のステップS1に相当する。
【0049】
アプリケーション実行手段30がUPSの管理アプリケーションの場合、イベント検出手段32は、バッテリ運転、UPSテスト完了などのUPSに関する警告や、バッテリ交換必要、停電発生などのアラームなどのイベントを検出する。イベント検出手段32がイベントを検出すると、検出したイベントの種別とともに、イベント通知コマンド要求手段33にその旨を通知する。
【0050】
イベント通知コマンド要求手段33は、サービス提供手段40に、イベントを通知するコマンドの実行を要求する。イベント通知コマンド要求手段33の処理は、図1(a)のステップS2の処理に相当する。
【0051】
イベント通知コマンド要求手段33は、イベント検出手段32からイベントの検出が通知されると、記憶装置10からユーザ設定データ11を読み出し、サービス提供手段40に、イベント通知コマンドで指定された方法で、ユーザにイベントの発生を通知させる。イベント通知コマンド要求手段33は、例えば、イベント検出手段32から、「バッテリ運転」のイベントが検出された旨が連絡されると、ユーザ設定データ11を読み出して、このイベントの通知方法が、ログ表示、ポップアップ通知およびメール通知であると取得する。イベント通知コマンド要求手段33は、ここで取得したコマンドのそれぞれを、サービス提供手段40に実行させる。イベントの通知内容やテンプレートは、予め、アプリケーション実行手段30が保持していても良い。
【0052】
イベント通知コマンド要求手段33は、コマンドを実行させるサービスのIPアドレスおよびポート番号を予め保持する。イベント通知コマンド要求手段33は、コマンドの実行を要求する際、予め保持したIPアドレスおよびポート番号でサービスを呼び出して、呼び出したサービスにコマンドを実行させる。
【0053】
サービス提供手段40によるコマンドの実行が終了すると、イベント通知コマンド要求手段33は、イベントが検出された旨と、検出したイベントの種別を、ユーザ設定コマンド要求手段34に通知する。なお、ユーザ設定データ11において、このイベントに対応するユーザ設定コマンドについてフラグが無効に設定される場合、ユーザ設定コマンド要求手段34に通知することなく、このまま処理を終了しても良い。
【0054】
ユーザ設定コマンド要求手段34は、サービス提供手段40に、イベント発生時にコマンドの実行を要求する。ユーザ設定コマンド要求手段34の処理は、図1(a)のステップS4の処理に相当する。
【0055】
ユーザ設定コマンド要求手段34は、イベント通知コマンド要求手段33からイベントの検出を通知されると、記憶装置10からユーザ設定データ11を読み出し、ユーザ設定コマンドで指定されたコマンドを実行属性で実行する要求を、サービス提供手段40に入力する。ユーザ設定コマンド要求手段34は、例えば、イベント通知コマンド要求手段33から、「バッテリ運転」のイベントが検出された旨が連絡されると、ユーザ設定データ11を読み出して、このイベントの通知に実行するコマンドとして、コマンドパス「c:\bin\backup.exe」および実行属性「バックグラウンド」を取得する。ユーザ設定コマンド要求手段34は、ここで取得したコマンドを、取得した実行属性で、サービス提供手段40に実行させる。
【0056】
ユーザ設定コマンド要求手段34は、コマンドを実行させるサービスのIPアドレスおよびポート番号を予め保持する。ユーザ設定コマンド要求手段34は、コマンドの実行を要求する際、予め保持したIPアドレスおよびポート番号でサービスを呼び出して、呼び出したサービスにコマンドを実行させる。
【0057】
本発明の実施の形態において、アプリケーション実行手段30およびサービス提供手段40は、同一のコンピュータ内に実装する場合を説明するが、これに限られない。アプリケーション実行手段30とサービス提供手段40とは、異なるコンピュータがそれぞれ実装しても良い。サービス提供手段40は、同一のコンピュータから、コマンドの実行要求を受けるとともに、通信ネットワークを介して、他の情報端末からコマンドの実行要求を受けても良い。
【0058】
サービス提供手段40によるコマンドの実行が終了すると、ユーザ設定コマンド要求手段34は、処理を終了する。
【0059】
サービス提供手段40は、情報処理装置1のメモリに常駐して、サービスを提供する。サービス提供手段40は、本発明の実施の形態においては特に、アプリケーション実行手段30から要求されたコマンドを実行するコマンド実行手段41を備える。
【0060】
コマンド実行手段41は、イベント通知コマンド要求手段33あるいはユーザ設定コマンド要求手段34から、コマンドの実行の要求を受ける。コマンド実行手段41は、コマンドの実行を要求されると、コマンド実行ユーザデータ12から、要求されたコマンドを実行可能なユーザ名を抽出する。コマンド実行手段41は、要求されたコマンドを実行可能なユーザ名を抽出し、抽出されたユーザ名でコマンドを実行する。
【0061】
ここでコマンド実行ユーザデータ12は、図6に示すように、コマンドの属性とコマンドを実行可能なユーザ名とを対応づけたデータである。
【0062】
図6に示すコマンド実行ユーザデータ12において、画面表示を含むコマンドは、ログイン中のユーザが実行可能であり、バックグラウンドで実行されるコマンドは、SYSTEM権限で実行可能であることを示す。ここで、画面表示を含むコマンドは、ログインユーザ以外のユーザは実行することができない。またバックグラウンドで実行されるコマンドは、SYSTEM権限以外で実行すると、エラーメッセージや確認メッセージなどが表示されて、スムーズにコマンドを実行することができない。
【0063】
また、ファイルの更新については、更新対象のファイル種別によって、実行ユーザが異なる。システムフォルダのファイルは、SYSTEM権限でのみ更新可能であることを示す。ログインユーザのフォルダのファイルは、ログインユーザのみ更新可能であることを示す。非ログインユーザのフォルダのファイルは、その非ログイン ユーザのみ更新可能であることを示す。
【0064】
コマンド実行手段41は、実行するべきコマンドが入力されると、そのコマンドを実行可能なユーザを、コマンド実行ユーザデータ12から特定して、そのユーザとしてコマンドを実行する。このときコマンド実行手段41は、新たなプロセスを生成し、そのプロセスで、抽出されたユーザ名でコマンドを実行する。
【0065】
例えば、画面表示を含むコマンドを実行する際、コマンド実行手段41は、コマンド実行ユーザデータ12を読み出して、このコマンドを実行可能なユーザがログインユーザであると判断する。その後、コマンド実行手段41は、現在のログインユーザで画面表示のコマンドを実行するためのプロセスを新たに生成する。Windows(登録商標)の場合、コマンド実行手段41は、ログイン中のユーザ名を取得した後、CreateProcessWithLogonWのAPIを呼び出して、ログイン中のユーザ名および実行コマンドのコマンドパスをパラメータとして、新たなプロセスに引き渡す。新たに生成したプロセスで、画面表示のコマンドが実行される。
【0066】
また、バックグラウンドでコマンドを実行する際、コマンド実行手段41は、コマンド実行ユーザデータ12を読み出して、このコマンドを実行可能なユーザがSYSTEMであると判断する。その後、コマンド実行手段41は、SYSTEM権限に切り替えて、バックグラウンドでコマンドを実行するためのプロセスを新たに生成する。Windows(登録商標)の場合、コマンド実行手段41は、CreateProcessのAPIを呼び出して、バックグラウンドで実行するコマンドのコマンドパスをパラメータとして、新たなプロセスに引き渡す。その後、新たに生成したプロセスで、コマンドがバックグラウンドで実行される。
【0067】
また、非ログインユーザのフォルダのファイルを更新するコマンドを実行する際、コマンド実行手段41は、コマンド実行ユーザデータ12を読み出して、このコマンドを実行可能なユーザがその更新対象のフォルダのユーザであると判断する。その後、コマンド実行手段41は、その非ログインユーザに切り替えて、バックグラウンドでコマンドを実行するためのプロセスを新たに生成する。Windows(登録商標)の場合、コマンド実行手段41は、CreateProcessAsUserのAPIを呼び出して、その非ログインユーザのユーザ名と、パスワードと、実行するコマンドのコマンドパスをパラメータとして引き渡す。その後、新たに生成したプロセスで、非ログインユーザの権限で、その非ログインユーザのフォルダのファイルを更新するコマンドが実行される。
【0068】
ここで、本発明の実施の形態に係る情報処理装置1においては、コマンド実行ユーザデータ12を記憶装置10に記憶する場合について説明したが、これに限られない。例えば、サービス提供手段40やコマンド実行手段41中のプログラム中に、コマンド実行ユーザデータ12に対応するテーブルを備えても良い。また、このプログラム中に、コマンドごとに実行ユーザを特定する処理が含まれても良い。
【0069】
このように本発明の実施の形態に係る情報処理方法および情報処理プログラムは、アプリケーションプログラムが、サービスプログラムに、所定のコマンドを実行させる。このときサービスプログラムは、コマンドの属性に応じて、実行可能なユーザとして実行可能なプロセスを生成して、そのプロセス中でコマンドを実行する。
【0070】
これにより、情報処理装置のオペレーションシステムのアクセス制限によって、コマンドの実行が制限される場合でも、適切なユーザに切り替えることにより、任意のコマンドを適切に実行することができる。また、コマンドの属性と、そのコマンドを実行可能なユーザとをコマンド実行ユーザデータ12に記憶しているので、今後も想定されるセキュリティ強化に、対応することができる。今度セキュリティが変更し、さらにアクセス制限が厳しくなっても、本発明の実施の形態に係る情報処理方法によれば、アプリケーションそのものを改良する必要はなく、このコマンド実行ユーザデータ12を更新すれば対応できる。
【0071】
本発明の実施の形態においては、サービスがコマンド実行の要求を受け、コマンドを実行することにより、ユーザのログインの有無にかかわらず、コマンドを実行することができる。また、今後のセキュリティ強化に伴い、アプリケーションの制約やアクセス権限などの制限が厳しくなることが予想される一方、サービスについては、そのような制限が厳しくなることは考えにくい。従って、サービスがコマンドを実行することにより、今後のオペレーションシステムの改変にも対応しやすい。
【0072】
また、サービスは、SYSTEM権限で稼働するので、アプリケーションに比べて安定した稼働が期待できる。サービスがコマンドを実行することにより、情報処理装置1を安定して稼働することができる。さらに、例えばUPSなどの機器の状態や警報などの情報を適切に情報処理装置1に出力できるので、これらの機器の安定稼働を期待できる。
【0073】
従来、セッション0を分離して、セッション0にサービスのみを実行させる仕様のオペレーションシステムにおいて、セッション0に対して画面を表示するコマンドなどを入力しても、画面が表示できない問題があった。しかし本発明の実施の形態においては、サービスにおいてユーザを切り替えてコマンドを実装するので、このようなオペレーションシステムでも、セッション0の分離による弊害を回避して、画面を表示するコマンドを実行することができる。
【0074】
またコマンド実行ユーザデータ12において、実行ユーザを個別に指定することにより、情報処理装置1のセキュリティも確保することができる。例えば、全てのコマンドについて、実行ユーザを「SYSTEM」として実行することもできる。しかしながら、全てのコマンドを「SYSTEM」で実行すると、セキュリティを強化した趣旨が没却されてしまう。そこで本発明の実施の形態に係るコマンド実行ユーザデータ12において、各コマンドについて、個別に実行可能なユーザを設定する。各コマンドを実行可能な、権限のより低いユーザ名をコマンド実行ユーザデータ12に設定することにより、セキュリティを担保しつつ、セキュリティ強化に伴う弊害を是正することができる。
【0075】
さらに本発明の実施の形態に係る情報処理方法は、アプリケーションを古いオペレーションシステムで稼働させるために、オペレーションシステムが提供する互換モードを利用することなく、あらゆる環境に対応することができる。
【0076】
(その他の実施の形態)
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【0077】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【0078】
1 情報処理装置
10 記憶装置
11 ユーザ設定データ
12 コマンド実行ユーザデータ
20 中央処理制御装置
30 アプリケーション実行手段
31 設定手段
32 イベント検出手段
33 イベント通知コマンド要求手段
34 ユーザ設定コマンド要求手段
40 サービス提供手段
41 コマンド実行手段
401、501 ユーザコマンド設定部
402 警告通知方法設定部
502 状態通知方法設定部

【特許請求の範囲】
【請求項1】
コマンドの属性によって、実行可能なユーザが制限されるコンピュータで実行される情報処理プログラムであって、
コンピュータを、
当該コンピュータのメモリに常駐して、サービスを提供するサービス提供手段として機能させ、
前記サービス提供手段はさらに、コマンドの実行を要求されると、コマンドの属性とコマンドを実行可能なユーザ名とを対応づけたコマンド実行ユーザデータから、要求されたコマンドを実行可能なユーザ名を抽出し、抽出されたユーザ名で前記コマンドを実行する
ことを特徴とする情報処理プログラム。
【請求項2】
前記サービス提供手段は、当該コンピュータで機能するコマンド要求手段または、通信ネットワークから、前記コマンドの実行の要求を受ける
ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記サービス提供手段は、新たなプロセスを生成し、そのプロセスで、抽出されたユーザ名でコマンドを実行する
ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項4】
コマンドの属性によって、実行可能なユーザが制限されるコンピュータでコマンドを実行する情報処理方法であって、
コマンドの属性とコマンドを実行可能なユーザ名とを対応づけたコマンド実行ユーザデータを、記憶装置に記憶するステップと、
コンピュータのメモリに常駐して、サービスを提供するステップと、
前記サービスが、所定のユーザのみが実行可能なコマンドの実行の要求を受けるステップと、
前記コマンドの実行が要求されると、前記コマンド実行ユーザデータから、要求されたコマンドを実行可能なユーザ名を抽出し、抽出されたユーザ名で前記コマンドを実行するステップ
を備えることを特徴とする情報処理方法。
【請求項5】
前記要求を受けるステップは、当該コンピュータまたは通信ネットワークから、前記コマンドの実行の要求を受ける
ことを特徴とする請求項4に記載の情報処理方法。
【請求項6】
前記コマンドを実行するステップは、新たなプロセスを生成し、そのプロセスで、抽出されたユーザ名でコマンドを実行する
ことを特徴とする請求項4に記載の情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2013−97710(P2013−97710A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−242184(P2011−242184)
【出願日】平成23年11月4日(2011.11.4)
【出願人】(000106276)サンケン電気株式会社 (982)
【Fターム(参考)】