(57)【要約】【課題】コマンドの制限を行うUNIX系の汎用サーバおよびそのコマンドガード方法を提供。【解決手段】UNIX系汎用サーバ10は、ログインするユーザがコマンドガード対象ユーザか否かに応じて、ログイン管理部16によってコマンドガード用シェルと通常のシェルとを切り替えて起動し、起動されるログインシェルがコマンドガード用シェルであるとき、コマンド制御部18が実行可能なコマンドを定義したコンフィグファイル22を参照して、このファイルに基づいてユーザから要求されるコマンドを制限してコマンド実行部20を制御することができる。【選択図】図１
2009217497.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末からのログイン要求に応じて、利用可能なユーザの認証を行うログイン管理手段と、
該ログイン管理手段でログインした前記ユーザ端末から要求されたコマンドを実行するコマンド実行手段とを含み、
所定のネットワーク上に備えられて複数の前記ユーザ端末と通信接続可能な汎用サーバにおいて、該サーバは、
前記ログイン管理手段は、ログインしたユーザがコマンドガード対象ユーザの場合にはコマンドガード用シェルをログインシェルとして起動して実行可能なコマンドを制限し、またそれ以外の場合には実行可能なコマンドを制限しない通常のログインシェルを起動することを特徴とする汎用サーバ。
【請求項２】
請求項１に記載の汎用サーバにおいて、該サーバは、前記コマンド実行手段によるコマンド実行を制御するコマンド制御手段を含み、
該コマンド制御手段は、前記ログインシェルに対応するコンフィグファイルを備え、
該コンフィグファイルは、その対応するログインシェルが起動する場合に実行可能なコマンドを定義し、
前記コマンド制御手段は、前記ログインシェルが起動する場合にその対応するコンフィグファイルを参照し、該コンフィグファイルに基づいて前記マンド実行手段を制御することを特徴とする汎用サーバ。
【請求項３】
請求項２に記載の汎用サーバにおいて、前記コンフィグファイルは、その対応するログインシェルの起動中に当該ユーザが実行可能なコマンドを定義し、
前記コマンド制御手段は、前記ログインシェルの起動する場合にその対応するコンフィグファイルを参照し、前記ユーザ端末から要求されるコマンドが前記コンフィグファイルに定義されているコマンドである場合に限り、そのコマンド実行を前記マンド実行手段に指示することを特徴とする汎用サーバ。
【請求項４】
請求項２に記載の汎用サーバにおいて、前記コンフィグファイルは、その対応するログインシェルの起動時に自動実行されるコマンドを定義し、
前記コマンド制御手段は、前記ログインシェルの起動に応じてその対応するコンフィグファイルを参照し、前記ユーザ端末からのコマンド要求に拘らず、前記コンフィグファイルに定義された自動実行コマンドの実行を前記コマンド実行手段に指示して、自動実行コマンドを順次、自動実行することを特徴とする汎用サーバ。
【請求項５】
請求項４に記載の汎用サーバにおいて、前記コマンド制御手段は、前記コンフィグファイルに定義された自動実行コマンドの自動実行が終了すると、前記ログイン管理手段に対して当該ユーザのログアウトを指示することを特徴とする汎用サーバ。
【請求項６】
請求項２に記載の汎用サーバにおいて、前記コンフィグファイルは、ユーザによって適宜、カスタマイズ可能であることを特徴とする汎用サーバ。
【請求項７】
所定のネットワーク上に備えられて複数のユーザ端末と通信接続可能な汎用サーバにおけるコマンドガード方法において、該方法は、
前記ユーザ端末からのログイン要求に応じて、利用可能なユーザの認証を行うログイン管理工程と、
該ログイン管理工程でログインした前記ユーザ端末から要求されたコマンドを実行するコマンド実行工程とを含み、
前記ログイン管理工程は、ログインしたユーザがコマンドガード対象ユーザの場合にはコマンドガード用シェルをログインシェルとして起動して実行可能なコマンドを制限し、またそれ以外の場合には実行可能なコマンドを制限しない通常のログインシェルを起動することを特徴とするコマンドガード方法。
【請求項８】
請求項７に記載のコマンドガード方法において、該方法は、前記ログインシェルに対応するコンフィグファイルを参照し、該ファイルに応じて前記コマンド実行工程によるコマンド実行を制御するコマンド制御工程を含み、
該コンフィグファイルは、その対応するログインシェルが起動する場合に実行可能なコマンドを定義し、
前記コマンド制御工程は、前記ログインシェルが起動する場合にその対応するコンフィグファイルを参照し、該コンフィグファイルに基づいて前記マンド実行工程を制御することを特徴とするコマンドガード方法。
【請求項９】
請求項８に記載のコマンドガード方法において、前記コンフィグファイルは、その対応するログインシェルの起動中に当該ユーザが実行可能なコマンドを定義し、
前記コマンド制御工程は、前記ログインシェルの起動する場合にその対応するコンフィグファイルを参照し、前記ユーザ端末から要求されるコマンドが前記コンフィグファイルに定義されているコマンドである場合に限り、そのコマンド実行を前記マンド実行工程に指示することを特徴とするコマンドガード方法。
【請求項１０】
請求項８に記載のコマンドガード方法において、前記コンフィグファイルは、その対応するログインシェルの起動時に自動実行されるコマンドを定義し、
前記コマンド制御工程は、前記ログインシェルの起動に応じてその対応するコンフィグファイルを参照し、前記ユーザ端末からのコマンド要求に拘らず、前記コンフィグファイルに定義された自動実行コマンドの実行を前記コマンド実行工程に指示して、自動実行コマンドを順次、自動実行することを特徴とするコマンドガード方法。
【請求項１１】
請求項１０に記載のコマンドガード方法において、該方法は、前記コマンド制御工程によって、前記コンフィグファイルに定義された自動実行コマンドの自動実行が終了すると、当該ユーザのログアウトを指示するログアウト工程を含むことを特徴とするコマンドガード方法。
【請求項１２】
請求項８に記載のコマンドガード方法において、前記コンフィグファイルは、ユーザによって適宜、カスタマイズ可能であることを特徴とするコマンドガード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コマンドの制限を行うUNIX系の汎用サーバおよびそのコマンドガード方法に関するものである。
【背景技術】
【０００２】
従来、UNIX系の汎用サーバでは、サーバの保守者がサーバを操作する場合、ルートユーザとしてログインすることにより、ログを参照したり、カーネルのコンフィグを設定および参照したりすることができ、また、サーバに障害が発生したときに、ログを収集したり、クラッシュダンプなどの障害情報を収集したりすることができる。
【０００３】
このようなサーバでは、ルートユーザ以外の一般ユーザによる操作を制限するために、一般ユーザのグル一プもしくはユーザごとにセキュリティを設定し、投入できるコマンドを制限し、またはグループもしくはユーザごとにパーミッションを設定する必要がある。
【０００４】
ところで、特許文献１に記載のネットワークコンフィグレーション管理システムでは、コンピュータ機器間の通信条件を各機器識別子とともに登録した通信設定テーブルと、そのテーブル識別子とサービス提供先識別子とを対にして登録したサービス提供先テーブルとを管理装置に設けて、管理装置は、サービス提供先識別子に応じたテーブル識別子を選択し、そのテーブル識別子に応じたテーブルの通信条件を選択して、その条件に対応する機器識別子が示すコンピュータ機器へコンフィグレーション情報として配付することにより、サービス提供先の提供サービスを変更する場合や、新規サービス提供先を追加する場合に、これらのサービス提供先に対して、ネットワークサービスを提供するコンピュータ機器のコンフィグレーション情報の変更または設定を効率良く行うことができる。
【特許文献１】特開2003-018163号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のUNIX系汎用サーバでは、その監視などの業務のためにログを参照するだけの場合でも、セキュリティを確保し、またはコマンド誤投入を防ぐために、投入できるコマンドを制限する必要がある。
【０００６】
また、従来のUNIX系汎用サーバでは、ルートユーザのみが実行可能であるべきコマンドが、一般ユーザでも実行可能となるものがあり、セキュリティ上、問題が生じることがある。
【０００７】
本発明はこのような従来技術の欠点を解消し、ログイン時に、実行可能な機能を制限することができるUNIX系汎用サーバおよびそのコマンドガード方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は上述の課題を解決するために、ユーザ端末からのログイン要求に応じて、利用可能なユーザの認証を行うログイン管理手段と、このログイン管理手段でログインしたこのユーザ端末から要求されたコマンドを実行するコマンド実行手段とを含み、所定のネットワーク上に備えられて複数のこのユーザ端末と通信接続可能な汎用サーバは、このログイン管理手段は、ログインしたユーザがコマンドガード対象ユーザの場合にはコマンドガード用シェルをログインシェルとして起動して実行可能なコマンドを制限し、またそれ以外の場合には実行可能なコマンドを制限しない通常のログインシェルを起動することを特徴とする。
【０００９】
また、所定のネットワーク上に備えられて複数のユーザ端末と通信接続可能な汎用サーバにおけるコマンドガード方法は、このユーザ端末からのログイン要求に応じて、利用可能なユーザの認証を行うログイン管理工程と、このログイン管理工程でログインしたこのユーザ端末から要求されたコマンドを実行するコマンド実行工程とを含み、このログイン管理工程は、ログインしたユーザがコマンドガード対象ユーザの場合にはコマンドガード用シェルをログインシェルとして起動して実行可能なコマンドを制限し、またそれ以外の場合には実行可能なコマンドを制限しない通常のログインシェルを起動することを特徴とする。
【発明の効果】
【００１０】
本発明のUNIX系汎用サーバによれば、ログイン管理部は、ログインするユーザがコマンドガード対象ユーザか否かに応じて、コマンドガード用シェルと通常のシェルとを切り替えて起動し、コマンド制御部は、起動されるログインシェルがコマンドガード用シェルであるとき、実行可能なコマンドを定義したコンフィグファイルを参照して、このファイルに基づいてユーザから要求されるコマンドを制限してコマンド実行部を制御することができる。
【００１１】
このようにして、本発明のUNIX系汎用サーバでは、ログイン時に、実行可能なコマンドが制限されるグループユーザを作成および提供することができる。また、本発明のUNIX系汎用サーバでは、コンフィグファイルをカスタマイズすることにより、実行可能なコマンドの制限を調整することができる。
【００１２】
また、本サーバによれば、コマンドガード用シェルが起動されるとき、自動実行されるコマンドを定義したコンフィグファイルをコマンド制御部が読み出して、このファイルに基づいてコマンドを自動的に実行することができ、さらに、コマンドの自動実行後に、自動的にログアウトすることもできる。これにより、本発明のUNIX系汎用サーバでは、セキュリティを確保し、コマンドの誤投入を防止することができる。
【発明を実施するための最良の形態】
【００１３】
次に添付図面を参照して、本発明によるUNIX系汎用サーバの実施例を詳細に説明する。たとえば、本発明のUNIX系汎用サーバ12を適用した管理システム10は、図１に示すように、汎用サーバ12を保守端末14によって保守管理することができるもので、この汎用サーバ12は、ログイン管理部16、コマンド制御部18およびコマンド実行部20を含んで構成されるもので、所定のユーザによるログインをログイン管理部16で識別し、この所定のユーザからのコマンドをコマンド制御部18で制限して制御することができる。なお、本発明の理解に直接関係のない部分は、図示を省略し、冗長な説明を避ける。
【００１４】
本実施例の汎用サーバ12は、UNIXなどのオペレーティングシステム（Operating System：OS）の下で動作するUNIX系汎用サーバであり、たとえば、格納したファイルを複数のユーザ間で共有することができるファイルサーバとして機能するものがある。この汎用サーバ12は、インターネットやLAN（Local Area Network）などの所定のネットワーク上に備えられて、複数のユーザとの接続を可能とする。
【００１５】
また、汎用サーバ12は、ルートユーザ、すなわち管理者アカウントを有する保守者のみに対して保守動作を実行し、ルートユーザ以外の一般ユーザに対しては、保守動作を実行しないように制御する。たとえば、汎用サーバ12は、保守動作として、ログファイルを公開し、カーネルのコンフィグファイルを公開し、また、そのコンフィグファイルの設定を許可することができる。さらに汎用サーバ12は、サーバ12に障害が発生した場合に、保守動作として、ログやクラッシュダンプなどの障害情報を収集し、そのログファイルやクラッシュダンプファイルをルートユーザに公開することができる。
【００１６】
ログイン管理部16は、当該汎用サーバ12を利用するユーザの認証を行うものである。本実施例のログイン管理部16は、所定のユーザが端末を用いて所定のネットワークを介してこのサーバ12に接続するときに、ユーザ名やパスワードなどのログイン情報の入力を要求する。この管理部16は、入力されたログイン情報に基づいて、そのユーザがこのサーバ12を利用可能な者であるか否かを判断し、利用可能であると判断した場合にその接続を許可する。また、この管理部16は、利用不可能であると判断した場合には接続を許否し、利用不可能である旨をそのユーザに通知してもよい。
【００１７】
ログイン管理部16は、このサーバ12の利用および管理が可能な保守者がログインした場合に、そのログイン情報に応じてログインシェルを切り替えて起動し、コマンドの制限が不要な通常の保守者に対しては、通常のシェル（csh/bash）を起動し、コマンドを制限する必要があるコマンドガード対象ユーザに対しては、通常のシェルをよりカスタマイズしたコマンドガード用シェル（cmd_shell）を起動する。
【００１８】
本実施例では、このログイン管理部16は、ログイン情報に応じて、ログインした保守者がコマンドガード対象ユーザであるか否かを判定し、コマンドガード対象ユーザであることを示す場合にはコマンドガード用シェルを起動し、それ以外の場合には通常のシェルを起動する。
【００１９】
また、コマンド制御部18は、当該サーバ12に接続したユーザ端末から要求されたコマンドを制御するもので、実行するコマンドをコマンド実行部20に対して指示する。
【００２０】
本実施例において、コマンド制御部18は、ログイン管理部16で起動したログインシェルに応じて利用可能なコマンドを判別することができ、ユーザ端末から要求されたコマンドが利用可能であると判断した場合には、そのコマンドをコマンド実行部20に対して指示する。また、コマンド制御部18は、ユーザ端末から要求されたコマンドが利用不可能と判断した場合には、指示をせず、そのユーザ端末に対して利用不可能であることを通知してもよい。
【００２１】
本実施例ではとくに、コマンド制御部は、利用可能なコマンドを定義するコンフィグファイル22を有して構成され、このコンフィグファイル22は、ログインシェルごとに備えられる。したがって、コマンド制御部は、起動したログインシェルに対応するコンフィグファイル22を読み出して参照することにより、利用可能なコマンドを判別することができる。
【００２２】
コンフィグファイル22は、ユーザによって適宜、カスタマイズすることができるもので、コマンド制御部18とは別個に独立して備えられてもよい。このコンフィグファイル22は、たとえば図３に示すように、XML形式で記述されてよい。図２では、コンフィグファイル22は、利用可能なコマンドを定義しているが、その他のさまざまな項目に関して定義してもよい。
【００２３】
コマンド実行部20は、当該サーバ12における複数の機能に関して、それぞれの機能を実行するもので、各機能に対応するコマンドを定義して、コマンド制御部18からの所定のコマンドの指示に応じて、その所定のコマンドに対応する機能を実行する。
【００２４】
次に、本実施例におけるUNIX系汎用サーバ12において、ユーザが所定のコマンドを入力する動作について図２のフローチャートを参照しながら説明する。
【００２５】
まず、本サーバ12を利用するユーザは、保守端末14と汎用サーバ12とを通信接続するために、この端末14を用いてサーバ12のログイン管理部16にアクセスしてこの管理部16に対してログイン情報を入力する（S202）。
【００２６】
ログイン管理部16では、保守端末14からのログイン情報に基づいて、ユーザが当該サーバ12を利用可能であるか否かを判断し（S204）、利用可能である場合にはステップS206に進み、利用不可能である場合にはその旨をユーザに通知する（S208）。
【００２７】
ステップS206において、ログイン管理部16では、入力されたログイン情報に基づいて、ユーザがコマンドガード対象ユーザ（user1）であるか否かが判断され、コマンド対象ユーザである場合にはステップS210に進み、それ以外の場合にはステップS212に進む。
【００２８】
このステップS210では、ログイン管理部16によって図４に示すようなコマンドガード用シェル（cmd_shell）が起動される。図４では、コマンドガード用シェルは、簡略化して定義されているが、その他のさまざまな項目に関して定義してもよい。
【００２９】
次に、ステップS214に進み、ユーザが保守端末14を操作してサーバ12に対してコマンドを入力すると、このコマンドは、ログイン管理部16または他のインタフェースを介してコマンド制御部18に入力される。
【００３０】
コマンド制御部18では、起動中のログインシェル、すなわちコマンドガード用シェル（cmd_shell）に対応するコンフィグファイル22が参照されて、保守端末14から要求されたコマンドがこのコンフィグファイル22に定義されているか否かが判定され（S216）、定義されている場合にはステップS218に進み、それ以外の場合にはステップS220に進む。
【００３１】
たとえば、コンフィグファイル22が、図３に示すように、コマンド”df”および”date”を定義するファイル”/usr/local/bin/cmd_shell_conf.xml”であるとき、コマンド制御部18では、保守端末14からコマンド”df”または”date”が要求された場合にのみ、ステップS218に進んでコマンド実行部20に対してそのコマンド実行が指示される。
【００３２】
また、コンフィグファイル22に定義されていないコマンドが要求された場合には、ステップS220に進んでコマンド制御部18から保守端末14に対してコマンドが利用不可能であることが通知される。
【００３３】
他方、ステップS212では、ログイン管理部16によって図５に示すような通常のシェル（csh/bash）が起動される。図５では、通常のシェルは、簡略化して定義されているが、その他のさまざまな項目に関して定義してもよい。
【００３４】
次に、ステップS222に進み、ステップS214と同様にして、保守端末14からサーバ12に対してコマンドが入力されると、ログイン管理部16または他のインタフェースを介してコマンド制御部18に入力される。
【００３５】
ここで、通常のシェル（csh/bash）がログインシェルとして起動している場合には、コマンド制御部18ではコマンドが制限されないので、コンフィグファイル22が参照されるか否かに拘らず、コマンドを判定することなくステップS224に進む。
【００３６】
ステップS224では、コマンド制御部18からコマンド実行部20に対してそのコマンド実行が指示される。
【００３７】
また、他の実施例として、UNIX系汎用サーバ12は、コマンドガード用シェル起動時に自動実行されるコマンドをコンフィグファイル24に定義することができる。
【００３８】
この実施例におけるコンフィグファイル24は、上記実施例におけるコンフィグファイル22と同様のもので、自動実行されるコマンドだけでなく、利用可能なコマンドを定義することもできる。
【００３９】
この実施例におけるUNIX系汎用サーバ12において、コマンドガード用シェル起動時にコマンドが自動実行される動作について説明する。
【００４０】
本動作において、コマンドガード対象ユーザ（user1）が当該サーバ12にログインしてからコマンドガード用シェルが起動されるまでの動作は、上記実施例の図２におけるステップS202〜S210を参照して説明した動作と同様でよい。
【００４１】
この実施例では、ステップS210において、ログイン管理部14でコマンドガード用シェルが起動した後、保守端末14からのコマンド入力を待たずに、コマンド制御部18においてコンフィグファイル24が参照され、このファイル24に自動実行コマンドが定義されているか否かが判定される。
【００４２】
このコンフィグファイル24は、たとえば、図６に示すように、自動実行コマンドを含むことを示す識別子として、自動実行開始を示す<AUTO>と自動実行終了を示す</AUTO>が定義されて、これらの間に自動実行するコマンド１”analin”、コマンド２”ftp/tmp/linux_data.*”およびコマンド３”\rm/tmp/linux_data.*”が順次、定義されている。コマンド制御部18では、このコンフィグファイル24を参照して読み出すことにより自動実行コマンドの定義を検出することができ、自動実行を開始してコマンド実行部20に対してコマンド１〜３の実行を順次、指示する。
【００４３】
図６では、コンフィグファイル24は、自動実行コマンドを定義しているが、その他のさまざまな項目に関して定義してもよい。
【００４４】
また、コマンド制御部18では、コンフィグファイル24に定義された自動実行コマンドの実行指示を完了すると、ログイン管理部14に対して自動ログアウト（exit）を指示してもよく、このとき、ログイン管理部14は、当該ユーザに対して自動的にログアウトを実行することができる。
【００４５】
また、本発明のUNIX系汎用サーバは、これらの実施例以外にも、さまざまな態様のコンフィグファイルを作成してそのファイルに対応するログインシェルを組み込むことができ、たとえば、当該サーバ12に障害が発生して、所定のユーザがログインしたときに、ログおよびクラッシュダンプなどの解析情報を収集し、その解析情報を指定のサーバに自動転送し、ログアウトを実施する、一連の動作を可能とするログインシェルおよびコンフィグファイルを備えることもできる。
【００４６】
さらに、本発明のUNIX系汎用サーバは、所定のユーザがログインしたときに、OSおよびOS上のアプリケ一ションを更新する、ログインシェルおよびコンフィグファイルを備えることもできる。
【図面の簡単な説明】
【００４７】
【図１】本発明のUNIX系汎用サーバの一実施例を示すブロック図である。
【図２】図１に示したサーバにおいて、ユーザが所定のコマンドを入力する動作手順を説明するフローチャートである。
【図３】図１に示したサーバにおいて、コマンドガード用に備えたコンフィグファイルを概要的に示す例図である。
【図４】図１に示したサーバにおいて、コマンドガード用に備えたコマンドガード用シェルを概要的に示す例図である。
【図５】図１に示したサーバにおいて、通常の保守者のために備えた通常のシェルを概要的に示す例図である。
【図６】本発明のUNIX系汎用サーバの一実施例において、コマンドガード用に備えたコンフィグファイルを概要的に示す例図である。
【符号の説明】
【００４８】
10  サーバシステム
12  UNIX系汎用サーバ
14  保守端末
16  ログイン管理部
18  コマンド制御部
20  コマンド実行部
【図１】
2009217497.tif 000003
【図２】
2009217497.tif 000004
【図３】
2009217497.tif 000005
【図４】
2009217497.tif 000006
【図５】
2009217497.tif 000007
【図６】
2009217497.tif 000008