(57)【特許請求の範囲】
【請求項１】
特定の管理者だけが使用することのできる命令が設定されたコンピュータシステムにおいて、
前記管理者側プロセスで動作するバックグラウンドプロセス手段と、
利用者が様々な要求を入力する入力手段と、
少なくとも前記利用者のＩＤと、前記要求と、前記命令のうち前記要求と対応関係にある前記利用者に使用を許可する命令の情報とを対応付けて管理する管理手段と、
を備え、
前記バックグラウンドプロセス手段は、
前記特定の管理者だけが使用することのできる命令を実行可能な特定の権限を持つプロセスで起動され、
前記入力手段から入力された利用者の要求に対して、前記管理手段の情報を参照し、前記要求を入力した利用者のＩＤを用いて、当該利用者に当該要求に対応する命令の使用が許可されているか否かを判断し、当該要求が許可された命令に対応する要求であれば、前記利用者の代わりに前記コンピュータシステムに対して当該要求に対応する命令を発する
ことを特徴とするコンピュータシステム。
【請求項２】
前記バックグラウンドプロセス手段は、コンピュータシステム起動時に起動され、コンピュータシステムが動作中は常に前記管理者側プロセスで動作することを特徴とする請求項１記載のコンピュータシステム。
【請求項３】
前記利用者のＩＤには、前記利用者の個人ＩＤ、前記利用者の所属するグループＩＤ、前記利用者の所属するネットワークＩＤ、前記利用者の利用する端末ＩＤのいずれか１つ以上を含むことを特徴とする請求項１或いは２記載のコンピュータシステム。
【請求項４】
前記利用者の要求を格納する格納手段を更に有し、
前記入力手段から入力された利用者の要求は、前記格納手段に格納され、
前記バックグラウンドプロセス手段は、前記格納手段に格納された前記利用者の要求を読み取ることを特徴とする請求項１、２又は３記載のコンピュータシステム。
【請求項５】
前記バックグラウンドプロセス手段は、定期的に前記格納手段にアクセスし格納された情報を監視することを特徴とする請求項４記載のコンピュータシステム。
【請求項６】
前記バックグラウンドプロセス手段は、前記格納手段から前記利用者の要求を読み取った後格納手段に格納された情報を削除することを特徴とする請求項４又は５記載のコンピュータシステム。
【請求項７】
前記管理手段は、曜日、時間或いはこれらを組み合わせたものによって利用者による前記命令の使用を制限するために、更に、前記利用者のＩＤと、前記命令のうち前記要求と対応関係にある前記利用者に使用を許可する命令の情報を、曜日或いは時間に関する情報或いはそれらを組み合わせた単位に対応付けて管理することを特徴とする請求項１、２、３、４、５又は６記載のコンピュータシステム。
【請求項８】
前記利用者の要求として、前記コンピュータシステム内、或いは外部に接続された装置から送信された信号を用いることを特徴とする請求項１、２、３、４、５、６又は７記載のコンピュータシステム。
【請求項９】
特定の管理者だけが使用することのできる命令が設定されたコンピュータシステムの管理方法であって、
管理者側プロセスで動作し、前記特定の管理者だけが使用することのできる命令を実行可能な特定の権限を持つプロセスで起動されるバックグラウンドプロセスが、
利用者が入力した様々な要求について、
少なくとも前記利用者のＩＤと、前記要求と、前記命令のうち前記要求と対応関係にある前記利用者に使用を許可する命令に関した情報とを対応付けて管理する管理テーブルを参照し、前記要求を入力した利用者のＩＤを用いて、当該利用者に当該要求に対応する命令の使用が許可されているか否かを判断し、当該要求が許可された命令に対応する要求であれば、前記利用者の代わりに前記コンピュータシステムに対して当該要求に対応する命令を発することを特徴とするコンピュータシステムの管理方法。
【請求項１０】
前記バックグラウンドプロセスは、コンピュータシステム起動時に起動され、コンピュータシステムが動作中は常に前記管理者側プロセスで動作することを特徴とする請求項９記載のコンピュータシステムの管理方法。
【請求項１１】
前記利用者のＩＤには、前記利用者の個人ＩＤ、前記利用者の所属するグループＩＤ、前記利用者の所属するネットワークＩＤ、前記利用者の利用する端末ＩＤのいずれか１つ以上を含むことを特徴とする請求項９或いは１０記載のコンピュータシステムの管理方法。
【請求項１２】
入力された前記利用者の要求は格納部に格納され、
前記バックグラウンドプロセスは、前記格納部に格納された前記利用者の要求を読み取ることを特徴とする請求項９、１０又は１１記載のコンピュータシステムの管理方法。
【請求項１３】
前記バックグラウンドプロセスは、定期的に前記格納部にアクセスし格納された情報を監視することを特徴とする請求項１２記載のコンピュータシステムの管理方法。
【請求項１４】
前記バックグラウンドプロセスは、前記格納部から前記利用者の要求を読み取った後格納部に格納された情報を削除することを特徴とする請求項１２又は１３記載のコンピュータシステムの管理方法。
【請求項１５】
前記要求には少なくとも一つの引数が付加され、前記管理手段は前記引数が付加された要求の夫々に対して、前記利用者に使用を許可する命令の情報を対応付けて管理することを特徴とする請求項１、２、３、４、５、６、７又は８記載のコンピュータシステム。
【請求項１６】
前記利用者の要求として、前記コンピュータシステム内、或いは外部に接続された装置から送信された信号を用いることを特徴とする請求項９、１０、１１、１２、１３又は１４記載のコンピュータシステムの管理方法。
【請求項１７】
特定の管理者だけが使用することのできる命令が設定されたコンピュータシステムを、
前記管理者側プロセスで動作するバックグラウンドプロセス手段と、
利用者が様々な要求を入力する入力手段と、
少なくとも前記利用者のＩＤと、前記要求と、前記命令のうち前記要求と対応関係にある前記利用者に使用を許可する命令の情報とを対応付けて管理する管理手段と、
して機能させると共に、
前記バックグラウンドプロセス手段が、前記特定の管理者だけが使用することのできる命令を実行可能な特定の権限を持つプロセスで起動され、且つ、前記入力手段から入力された利用者の要求に対して前記管理手段の情報を参照し、前記要求を入力した利用者のＩＤを用いて、当該利用者に当該要求に対応する命令の使用が許可されているか否かを判断し、当該要求が許可された命令に対応する要求であれば、前記利用者の代わりに前記コンピュータシステムに対して当該要求に対応する命令を発するように、前記コンピュータシステムを動作させるプログラムを記録した記録媒体。
【請求項１８】
前記利用者が入力した要求を格納しておく格納手段から前記バックグラウンドプロセス手段が前記要求を読み出すようにコンピュータシステムを動作させるプログラムを記録した請求項１７記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータの管理方法に関し、特に、権限を与えられた管理者のみが実行可能な処理が定められているコンピュータを管理するものであり、例えば、ＵＮＩＸシステムのワークステーションなどの管理に好適なコンピュータの管理方法に関する。
【０００２】
【従来の技術】
コンピュータシステムには、管理者を定め、その定められた管理者のみが実行することができる処理を制限したものがある。例えばオペレーティングシステムにＵＮＩＸを備えたコンピュータでは、スーパーユーザと呼ばれる管理者が設定されており、そのスーパーユーザだけが特定のコマンドを実行できる権限を持っている。以下これをスーパーユーザコマンドと記す。従ってＵＮＩＸでは、コンピュータを利用する際に利用者が一般のユーザであるのか、スーパーユーザであるのかを予めコンピュータに知らせておく必要がある。これがいわゆるログイン（ｌｏｇｉｎ）であり、ユーザ名とパスワードを入力してコンピュータが認証作業を行う。
【０００３】
スーパーユーザとしてコンピュータを利用するためには、スーパーユーザのユーザ名とパスワードを入力して自分がスーパーユーザである旨コンピュータに知らせる。ＵＮＩＸの場合通常はスーパーユーザのユーザ名は「ｒｏｏｔ」である。このユーザ名に対してコンピュータがパスワードを尋ねるので、あらかじめ定められたパスワードを入力し、それが認証されるとスーパーユーザとしてコンピュータを利用することができるようになる。
【０００４】
また、コンピュータのログイン受付状態以外のときでは、コマンドとして「ｓｕ」を実行することにより通常の一般ユーザモードからスーパーユーザモードに切り替えることができるが、この時もパスワードを要求されるので、スーパーユーザのパスワードを入力することで認証が行われる。
【０００５】
スーパーユーザとしてログインすると、コンピュータのハードウェアの設定、システムソフトウェアのインストール・削除、ネットワークの設定、パスワードの設定、シャットダウン、リブート（再起動）などの処理を実行できる。例えば、ハードウェアの設定では、コンピュータに接続されているハードディスクドライブ、ＣＤ−ＲＯＭドライブ、プリンタなど様々な機器との接続状態等を設定できる。これらはシステムを熟知した管理者が行うことで障害の少ない運用が可能となる。
【０００６】
また、ユーザの登録、パスワードの設定・変更などもスーパーユーザでなければ実行できないようになっている。こうして管理することで部外者の侵入を防ぐことができ、セキュリティが確保される。
【０００７】
このように権限を持った管理者だけが特定の処理を行えるようにすることにより、一般ユーザが誤ってハードウェアやソフトウェアの情報を削除してしまったり、或いは部外者などの侵入を防止することができ、コンピュータシステムの運用が円滑に行えるようになっている。
【０００８】
【発明が解決しようとする課題】
上述のようにＵＮＩＸに代表されるようなコンピュータの管理方法では、権限を持った管理者だけが特定の処理、或いは特定領域へのアクセス権があるので、セキュリティ性を高くすることが可能ではあるが、反面、その管理者が不在の状況では、一部の作業ができなくなるという不都合がある。例えば何らかの障害から、やむなくコンピュータをシャットダウンしなければならないような状況下では、一般ユーザがコンピュータをシャットダウンしようにも、そのコマンド“ｓｈｕｔｄｏｗｎ”がスーパーユーザにしか利用できないものであるので、スーパーユーザにシャットダウンを依頼してシャットダウン作業を行ってもらうことになる。従って、このような状況下にスーパーユーザが仮に不在であれば、シャットダウンを行える者がいなくなるという事態がおこり得る。
【０００９】
このような課題から、特開平３−３６６５６にコンピュータのシステム運用終了時における上記課題を解決する方法が開示されている。この方法によると、オペレーティングシステムのユーザ情報登録ファイル内に直接コマンドを記述して、システムの運用を終了、つまりシャットダウンを行う。ユーザ情報登録ファイルには、１行の中に、システム運用終了用のユーザログイン名、ユーザのパスワード、ユーザのＩＤ、コメント、ログイン時に起動されるプログラムのパス名（シェル）等が記載されている。このユーザとは、いわゆる一般的なユーザであって、通常ならシャットダウンは行えない。この発明では、シャットダウンコマンドの実行権限をオペレーティングシステムでサポートされているアクセス制約機構に従い、本システム運用管理終了用ユーザに前もって与えておいて、ユーザ情報登録ファイルに登録されているＩＤを持ったユーザが、システム運用終了用ユーザログイン名とパスワードでログインすると、認証が行われ、登録されている情報に間違いがないと、同ユーザ情報登録ファイルに登録されているシェルを実行する。このシェルの内容は“／ｅｔｃ／ｓｈｕｔｄｏｗｎ”であり、自動的に運用が終了するものである。
【００１０】
このように、ユーザ情報登録ファイルにシステムの運用終了を行うシェルと、ユーザの情報を登録しておくことにより管理者以外のユーザがシャットダウンを行えるようにするものである。
【００１１】
しかしながらこの方法は近年のシステムでは利用できない。近年のＵＮＩＸなどでは、“ｓｈｕｔｄｏｗｎ”などのコマンドが、その実行時に、スーパユーザからの実行であるかを確認するようになっている。つまり、これらのコマンドはオペレーティングシステムのアクセス制約による実行権限とは別に、コマンド内部の実行者確認機構によって、その実行権をスーパユーザにしか許さない。特開平３−３６６５６では、システム運用終了用ユーザログイン名でログインするようになっているため認証が与えられずシャットダウン作業は拒否される。このように近年のシステムでは本当にスーパーユーザとしてログインしない限り、スーパーユーザだけに与えられた権限を実行することができなくなってきている。
【００１２】
つまり、従来のシステムと比較してよりセキュリティが高まったと言える。と、同時に、上述のように、止む無くスーパーユーザコマンドを使用する必要があるときに例えばスーパーユーザが不在であればスーパーユーザコマンドを実行することができないという事態が再び起こるようになった。
【００１３】
本願はこのような課題に基づきなされたもので、本来は本当の特定管理者しか利用することができないスーパーユーザコマンドの実行などを、セキュリティ性を確保した上で本来は権限のない一般ユーザにも利用できるようにするコンピュータの管理方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
上記目的を解決するためのコンピュータシステムは、特定の管理者だけが使用することのできる命令が設定されたコンピュータシステムにおいて、管理者側プロセスで動作するバックグラウンドプロセス手段と、利用者が様々な要求を入力する入力手段と、少なくとも利用者のＩＤと、前記要求と、命令のうち要求と対応関係にある利用者に使用を許可する命令の情報とを対応付けて管理する管理手段と、を備え、バックグラウンドプロセス手段は、特定の管理者だけが使用することのできる命令を実行可能な特定の権限を持つプロセスで起動され、入力手段から入力された利用者の要求に対して管理手段の情報を参照し、その要求を入力した利用者のＩＤを用いて、その利用者に当該要求に対応する命令の使用が許可されているか否かを判断し、当該要求が許可された命令に対応する要求であれば、その利用者の代わりにコンピュータシステムに対して当該要求に対応する命令を発することを特徴とするものである。ここで、バックグラウンドプロセス手段は、コンピュータシステム起動時に起動され、コンピュータシステムが動作中は常に管理者側プロセスで動作するようにしてもよい。
【００１５】
本発明のその他の特徴とするところは、利用者のＩＤには、利用者の個人ＩＤ、利用者の所属するグループＩＤ、利用者の所属するネットワークＩＤ、利用者の利用する端末ＩＤのいずれか１つ以上を含むことを特徴とする。
【００１６】
本発明のその他の特徴とするところは、利用者の要求を格納する格納手段を更に有し、入力手段から入力された利用者の要求は、格納手段に格納され、バックグラウンドプロセス手段は、格納手段に格納された利用者の要求を読み取ることを特徴とする。
【００１７】
本発明のその他の特徴とするところは、バックグラウンドプロセス手段は、定期的に格納手段にアクセスし格納された情報を監視することを特徴とする。また、バックグラウンドプロセス手段は、格納手段から利用者の要求を読み取った後格納手段に格納された情報を削除してもよい。
【００１８】
本発明のその他の特徴とするところは、管理手段は、利用者のＩＤと、命令のうち要求と対応関係にある利用者に使用を許可する命令の情報を、曜日或いは時間に関する情報或いはそれらを組み合わせた単位に応じて管理することを特徴とする。
【００１９】
本発明のその他の特徴とするところは、利用者の要求として、コンピュータシステム内、或いは外部に接続された装置から送信された信号を用いることを特徴とする。
【００２０】
本発明のコンピュータシステムの管理方法は、特定の管理者だけが使用することのできる命令が設定されたコンピュータシステムの管理方法であって、管理者側プロセスで動作し、特定の管理者だけが使用することのできる命令を実行可能な特定の権限を持つプロセスで起動されるバックグラウンドプロセスが、利用者が入力した様々な要求について、少なくとも利用者のＩＤと、前記要求と、命令のうち要求と対応関係にある利用者に使用を許可する命令に関した情報とを対応付けて管理する管理テーブルを参照し、前記要求を入力した利用者のＩＤを用いて、その利用者に当該要求に対応する命令の使用が許可されているか否かを判断し、当該要求が許可された命令に対応する要求であれば、その利用者の代わりにコンピュータシステムに対して当該要求に対応する命令を発することを特徴とするものである。ここで、バックグラウンドプロセスは、コンピュータシステム起動時に起動され、コンピュータシステムが動作中は常に管理者側プロセスで動作するようにしても良い。
【００２１】
本発明のその他の特徴とするところは、利用者のＩＤには、利用者の個人ＩＤ、利用者の所属するグループＩＤ、利用者の所属するネットワークＩＤ、利用者の利用する端末ＩＤのいずれか１つ以上を含むことを特徴とする。
【００２２】
本発明のその他の特徴とするところは、入力された利用者の要求は格納部に格納され、バックグラウンドプロセスは、格納部に格納された利用者の要求を読み取ることを特徴とする。
【００２３】
本発明のその他の特徴とするところは、バックグラウンドプロセスは、定期的に格納部にアクセスし格納された情報を監視することを特徴とする。また、バックグラウンドプロセスは、格納部から利用者の要求を読み取った後格納部に格納された情報を削除するようにしてもよい。
【００２４】
本発明のその他の特徴とするところは、要求には少なくとも一つの引数が付加され、管理手段は前記引数が付加された要求の夫々に対して、利用者に使用を許可する命令の情報を対応付けて管理することを特徴とする。
【００２５】
本発明のその他の特徴とするところは、利用者の要求として、コンピュータシステム内、或いは外部に接続された装置から送信された信号を用いることを特徴とする。
【００２６】
本発明の記録媒体は、特定の管理者だけが使用することのできる命令が設定されたコンピュータシステムを、管理者側プロセスで動作するバックグラウンドプロセス手段と、利用者が様々な要求を入力する入力手段と、少なくとも利用者のＩＤと、前記要求と、命令のうち要求と対応関係にある利用者に使用を許可する命令の情報とを対応付けて管理する管理手段として機能させると共に、バックグラウンドプロセス手段が、特定の管理者だけが使用することのできる命令を実行可能な特定の権限を持つプロセスで起動され、且つ、入力手段から入力された利用者の要求に対して管理手段の情報を参照し、前記要求を入力した利用者のＩＤを用いて、その利用者に当該要求に対応する命令の使用が許可されているか否かを判断し、当該要求が許可された命令に対応する要求であれば、その利用者の代わりにコンピュータシステムに対して当該要求に対応する命令を発するように、コンピュータシステムを動作させるプログラムを記録したことを特徴とする。
【００２７】
さらに、利用者が入力した要求を格納しておく格納手段と、バックグラウンドプロセス手段が格納手段から要求を読み出すようにコンピュータシステムを動作させるようにプログラムを記録してもよい。
【００２８】
本発明は上記のような技術を用いたので、本来は特定の管理者だけしか使用することができない命令であっても、それに相当する利用者からの要求を、管理者側プロセスで動作するバックグラウンドプロセスが、管理手段を元に許可して良いかを判断し、良ければ当該要求に相当する命令をコンピュータシステムに発することにより、一般の利用者でも許可されていれば管理者用の命令を実行することができるようになる。また、バックグラウンドプロセスは起動後常に動作しているので利用者はいつでも要求を発することができる。
【００２９】
本発明の他の特徴によれば、バックグラウンドプロセスが所定の処理を行ってから上記命令を発するので管理者が実際に行う手順のように命令を実行することができる。
【００３０】
本発明の他の特徴によれば、利用者の要求としてコンピュータシステム内や外部の装置からの信号を利用するのでコンピュータシステムと他の装置との連携的な動作が可能となる。
【００３１】
本発明の記録媒体に記録されたプログラムをコンピュータシステムで実行させることにより、本来は特定の管理者だけしか使用することができない命令であっても、それに相当する利用者からの要求を、管理者側プロセスで動作するバックグラウンドプロセスが、管理手段を元に許可して良いかを判断し、良ければ当該要求に相当する命令を利用者に代わって発するようにコンピュータシステムを動作させることができ、一般の利用者でも許可されていれば管理者用の命令を実行することができるようになる。
【００３２】
【発明の実施の形態】
本発明の第一の実施形態を説明する。本実施形態ではオペレーティングシステムにＵＮＩＸを備えたシステムを例に説明するが、本実施形態はこれに限られたものではない。
【００３３】
ＵＮＩＸには上述のように、スーパーユーザとしてログインした場合と、一般ユーザとしてログインした場合とでは処理できる作業に違いがある。一般ユーザが処理できる作業は、スーパーユーザであれば全て同様に処理することができるが、スーパーユーザが処理できる作業のうち一部は一般ユーザは処理できないものがある。以下、一般ユーザが利用できるコマンドを一般ユーザコマンドと記す。
【００３４】
図１は、本発明のコンピュータの管理方法を説明するためのシステムのブロック図、また、図２は、ＵＮＩＸシステムにおいて、本発明を適応したときの起動時の流れを説明するフロー図である。
【００３５】
図１において、中央処理装置１はコンピュータの中枢部でありすべての制御を集中的に管理する部分である。中央処理装置はコンピュータ内部に備えられたプロセッサチップのみを示す場合があるが、本明細書では、下記の各部位を含めて中央処理部と呼ぶことにする。プロセス制御部２はコンピュータを動作させるためのプロセスを扱う部分で、タイムシェアリング等して各プロセスを動作させる。ユーパーユーザプロセス３は、プロセスのうち、特にスーパーユーザにしか利用できない部類のものを管理するものである。スーパーユーザプロセス３には複数のプロセスが同時に起動することが可能で、図１では代理デーモン４ａ等が起動している。この代理デーモン４ａについては後で詳しく説明する。
【００３６】
プロセス制御部２にはスーパーユーザプロセス３のほかに、一般ユーザプロセス５があり、この一般ユーザプロセス５に含まれるプロセスは一般ユーザでも利用することができ、ここではｕｓｒｉｎｉｔプロセス６等が起動している。ｕｓｒｉｎｉｔプロセス６については後で説明する。
【００３７】
メモリ７はコンピュータが処理時にデータを一時的に格納するＤＲＡＭや、読み出し専用のＲＯＭ等、いわゆる半導体記憶装置を示す。記憶装置８はハードディスクドライブ、ＣＤ−ＲＯＭドライブ、フロッピーディスクドライブ等を示す。表示部１１はＣＲＴなどの画面、ユーザの入力装置であるキーボード１２、出力装置のプリンター１３、無停電電源装置１４なども中央処理装置１に接続されている。また、ネットワーク１５により他のコンピュータ１６等と接続されている。なお、無停電電源装置１４は、コンピュータの電源が直接接続されており、この図１における接続は、その他の制御信号などを伝える信号線がつながれているものとする。
【００３８】
次にコンピュータ起動時の動作について図２を用いて説明する。まず電源が投入される（ＳＴＥＰ１）と、コンピュータのＲＯＭ（メモリ７）に記録されたブートプログラムが開始される（ＳＴＥＰ２）。このブートプログラムにより通常はハードディスク（記憶装置８）上の第０番目のブロックに記録されたスタートアッププログラムが起動される（ＳＴＥＰ３）。ＵＮＩＸではこのハードディスク上の第０番目のブロックは、通常のファイル格納のコマンドでは直接アクセスできない領域であり、スタートアッププログラムがここに収まっていることにより誤って書き換えられることがなく安全に起動作業を実行することができる。
【００３９】
次に、スタートアッププログラムは“／ｂｏｏｔ”というファイルを起動する（ＳＴＥＰ４）。／ｂｏｏｔは、コンピュータのメモリ７にあるプログラムで、プロセス制御部２を起動するためのものである。これ以降実際にＵＮＩＸシステムが起動する。プロセス制御部２は起動後、メモリ７のエラー検査等を行い、続いてＵＮＩＸのプロセスの１つである“／ｅｔｃ／ｉｎｉｔ”（図１  ４ｂ）を実行する（ＳＴＥＰ５）。これがコンピュータ起動後初めて実行されるＵＮＩＸのプロセスである。この“ｉｎｉｔ”プロセス４ｂはスーパーユーザプロセス３で実行されている。“ｉｎｉｔ”プロセス４ｂは、シングルスーパーユーザ用のシェルの起動などを行う。つまり、スーパーユーザはここで単独で管理機能を実行することができ、一般ユーザが利用する前に各種設定を行えるようになっている。
【００４０】
“ｉｎｉｔ”プロセス４ｂは次に“／ｅｔｃ／ｒｃ”というファイル（以下単にｒｃファイルと記す）を実行する（ＳＴＥＰ６）。ｒｃファイルはコンピュータを円滑に動作させるための設定を行うためのスクリプトが収められている。
【００４１】
図３（ａ）にｒｃファイルの例を示す。ｒｃファイルはいわゆるスクリプトなので、記載されている順にそれぞれ処理が行われる。例えば、第２行目“ＰＡＴＨ”では、階層構造をしたＵＮＩＸのファイルシステム上のコマンドの検索経路を設定している。また、“ｍｏｕｎｔ  −ａｔ  ４．２”では、コンピュータにローカルディスクがあれば、そこにファイルシステムをマウントすることを示している。また、“ｑｕｏｔａｃｈｅｃｋ  −ａ  −ｐ”や“ｑｕｏｔａｏｎ  −ａ”は、ディスククオータのチェック、起動を指定している。ディスククオータは、各ユーザが使用できるディスク空間を制御する機能である。
【００４２】
このように、ｒｃファイルが実行されることにより必要なファイルシステムがマウントされたり、必要なファイルを実行したり削除して、主にファイルシステムの準備を行う。このとき、必要なプロセスも起動する。
【００４３】
その後、マルチユーザモードの準備を行い（ＳＴＥＰ７）ユーザのログインを受け付けることができるようになる（ＳＴＥＰ８）。
【００４４】
以上が一般的なＵＮＩＸの起動時の流れであり、この時点でコンピュータはユーザのログインを待つ状態にある。スーパーユーザモードでログインする場合は、ログイン名として“ｒｏｏｔ”と、予め定められたパスワードを入力すれば良く、一般ユーザでログインするのであれば、それぞれ決められたログイン名とパスワードでログインできる。このようなコンピュータの起動方法では一般ユーザはスーパーユーザコマンドは実行できない。
【００４５】
そこで、本発明では、起動時に実行するＳＴＥＰ６のｒｃファイルに以下に示すような設定をしておく。この設定はスーパーユーザがｒｃファイル内のスクリプトを編集して行っておく。図３（ｂ）のｒｃファイルのこの部分は常時起動させておくプロセスを起動させるための設定が記載されているところで、例えば、“ｕｐｄａｔｅ”はメモリ７の内容を定期的にハードディスク（記憶装置８）に記憶させるように動作するプロセスであり、“ｃｒｏｎ”は図示しない／ｕｓｒ／ｌｉｂ／ｃｒｏｎｔａｂというタイムテーブルのファイルに沿って定められたプロセスを実行させるためのプロセスである。ここで起動されるプロセスはいわゆるバックグラウンドプロセスであり、コンピュータが起動中は常にバックグラウンドで動作し続けるものである。
【００４６】
このバックグラウンドプロセスとして本発明では、更に代理デーモン４ａと呼ぶプロセス“ｄｕｍｍｙ”を起動するように設定しておく。代理デーモン４ａはスーパーユーザプロセスで起動されているのでスーパーユーザコマンドを実行することができる。代理デーモン４ａは、ユーザから入力される要求を監視し、もし、その要求がスーパーユーザコマンドを意味するものであれば、この要求を実行して良いかを判断し、ユーザに代わってスーパーユーザコマンドを実行する働きをする。この判断には後述する管理テーブル９を用いる。
【００４７】
ユーザからはあらゆる要求がコマンドとして入力されるが、すでに述べたようにコマンドにはスーパーユーザコマンドと一般ユーザコマンドがあり、スーパーユーザコマンドであるか一般ユーザコマンドであるかの判断はシステムが行う。本発明のシステムでもスーパーユーザコマンドと一般ユーザコマンドの判断は従来と同じようにシステムが行う。つまり、一般ユーザは、スーパーユーザコマンドを入力しても実行は拒否される。
【００４８】
本発明では、一般ユーザは“ｓｈｕｔｄｏｗｎ”を行いたいときは例えば“ｕｓｒｓｈｕｔ”という代理スーパーユーザコマンドを入力する。“ｕｓｒｓｈｕｔ”は元々ＵＮＩＸで持っているコマンドではなく、このコンピュータのスーパーユーザが設定したもので、一般ユーザが、シャットダウンしたいときに入力するコマンドという定義がされているものとする。ユーザから代理スーパーユーザコマンド“ｕｓｒｓｈｕｔ”の要求があると、予めｒｃファイルから起動されている代理デーモン４ａは、代理スーパーユーザコマンドを入力したユーザのユーザ名を管理テーブル９で照会し、そのユーザが“ｓｈｕｔｄｏｗｎ”コマンドを許可されているかどうかを判断する。判断の結果、コマンド実行が許可されていると、本来はスーパーユーザコマンドである“ｓｈｕｔｄｏｗｎ”を代理デーモン４ａが実行する。
【００４９】
管理テーブル９はスーパーユーザが予め作成しておくもので、どの一般ユーザにはどのような処理（要求）を許可するかという情報が定義されている。図４（ａ）の管理テーブル９では、各行に１つのスーパーユーザコマンドが記載されており、続いてそのスーパーユーザコマンドを実行できるユーザ名が記載されている。１行目は“ｓｈｕｔｄｏｗｎ”で、このコマンドはユーザＡ、ユーザＢ、ユーザＤが実行できることを意味している。
【００５０】
一方、図示しない定義ファイルには、スーパーユーザコマンドとそれに対応する代理スーパーユーザコマンドとの対応が定義されており、代理デーモン４ａは代理スーパーユーザコマンドの意味を解釈し、管理テーブル９で判断を行う。なお、本実施形態では管理テーブル９と定義ファイルを別にした例を述べているが、例えば、図４（ａ）において、各スーパーユーザコマンドに対応する代理スーパーユーザコマンドを対応付けたカラムを設け、１つのテーブル内で管理しても良い。
【００５１】
管理テーブルはユーザ名と要求とを関連付けているものなので図４（ａ）とは逆に図４（ｂ）のようにユーザ名に対して許可されているコマンドを羅列するように作成しても良いし、或いは、図４（ｃ）、４（ｄ）のように、曜日や時刻で制限することも可能である。時刻で制限をするときは、「何時から何時までは、誰が、どのコマンドを実行することができる」というような記載をすることで、細かな設定が可能である。管理テーブルはこれらの制約条件を組み合わせることにより様々に設定できる。また、図４ではユーザ名として単にユーザＩＤが記載されているが、例えば利用者の所属するグループのＩＤ、利用者の所属するネットワークのＩＤ、利用者の利用する端末のＩＤなどを用いてもよい。
【００５２】
これが本願の基本的な起動時、及び代理デーモン４ａのコマンドを受け付けるときの流れである。このように、予め定められた代理スーパーユーザコマンドをユーザが要求すると、代理デーモン４ａがコマンド内容とユーザ名を解釈し、許可されたユーザからの要求であれば、代理デーモン４ａが一般ユーザに代わって所定のスーパーユーザコマンドを実行する。
【００５３】
次に、代理スーパーユーザコマンドを受け付けたあとの処理について説明する。代理デーモン４ａは、代理スーパーユーザコマンドに対応するスーパーユーザコマンドを実行する際に、所定の作業をバッチ処理的に行う。例えば、代理スーパーユーザコマンドとして“ｕｓｒｓｈｕｔ”を受け付け、対応するスーパーユーザコマンド“ｓｈｕｔｄｏｗｎ”を実行する際は、まず、“ｓｈｕｔｄｏｗｎ”を開始するにあたり、ログファイルに処理履歴を残す。これは、誰が、いつ、どのコマンドを実行したか、などの情報を記録しておき、どういう処理が行われたかを確認するときに使われる。
【００５４】
つぎに、プレスクリプトを実行する。これはデータベースなどが起動されているときにシャットダウンする前にデータを更新しておいたり、起動中のプログラムを終了させる処理が記載されたスクリプトである。あるいは、ネットワーク１５などで接続された他のコンピュータ１６のユーザにシャットダウンをする旨のメッセージを出す。
【００５５】
次いでユーザから代理デーモン４ａへと渡された代理スーパーユーザコマンドを消去する。これは、次回起動されたときに誤って同コマンドが再度実行されてしまうことを防止するためである。一連の処理が完了すると実際の停止作業へと移る。
【００５６】
なお、一般ユーザはシャットダウンするために“ｕｓｒｓｈｕｔ”という代理スーパーユーザコマンドを代理デーモン４ａに渡すが、この代理スーパーユーザコマンドに引数を用いることもできる。
【００５７】
例えば、ｕｓｒｉｎｉｔプロセス６は代理デーモン４ａに各種の命令を要求するためのもので、このプロセスを実行するには“ｕｓｒｉｎｉｔ”というコマンドをユーザが入力する。ここで、“ｕｓｒｉｎｉｔ”の引数として０，１，２，．．．を与え、それぞれ引数によって要求内容を異なるようにする。例えば、“ｕｓｒｉｎｉｔ  ０”はシャットダウン、“ｕｓｒｉｎｉｔ  ６”はリブートなど、同じ“ｕｓｒｉｎｉｔ”でも引数によって命令を変えることができる。
【００５８】
ソフトウェアをインストールする時に使うコマンド“ｐｋｇａｄｄ”で、例えば、フロッピーディスクのパッケージにアクセスして、ソフトをインストール
する時には、“ｐｋｇａｄｄ  −ｄ／ｄｅｖ／ｒｆｄ０ａ”というコマンドと引数を入力する。ここで、このコマンドに対応した代理スーパーユーザコマンド“ｕｓｒｐｋｇａｄｄ”というコマンドを設定し、このコマンドで、“ｕｓｒｐｋｇａｄｄ  −ｄ／ｄｅｖ／ｒｆｄ０ａ”という命令を要求すると、代理デーモン４ａは一般ユーザの代わりにスーパーユーザコマンド“ｐｋｇａｄｄ  −ｄ／ｄｅｖ／ｒｆｄ０ａ”を実行する。
【００５９】
引数を用いた方式で命令を与えることのメリットは、引数を複数付加することによって幾つかの処理を一度に命令できる点である。ＵＮＩＸのコマンドには元々引数を利用できるものが多いが、それらのうち比較的使用頻度の高いコマンドと引数の組み合わせで、上記引数１つに割り当てることもできる。例えば、ＵＮＩＸで“ｓｈｕｔｄｏｗｎ  ＋１０”という引数を伴った命令は、１０分後にシャットダウン処理を開始させるものである。或いは、“ｓｈｕｔｄｏｗｎ  ２１：００”と指定すると２１時にシャットダウン処理が開始される。このように、シャットダウン作業は、すぐに行わずにある時間をおいてから開始することがしばしばある。更に、“ｓｈｕｔｄｏｗｎ  −ｈ  ｎｏｗ”のように引数を複数伴う場合もある。これらを、それぞれ、“ｕｓｒｉｎｉｔ  ３”、“ｕｓｒｉｎｉｔ  ４”、“ｕｓｒｉｎｉｔ  ５”などと設定しておけば所定の引数の処理を行わせることができる。引数の設定はスーパーユーザによって管理テーブル９にて設定され、代理デーモン４ａはこれを参照して処理を実行する。
【００６０】
上記の説明では、一般ユーザからの要求は代理スーパーユーザコマンドとして入力され、それらは直接代理デーモン４ａが受け取っていた。この一般ユーザからの要求を代理デーモン４ａが受け取る別の方法を説明する。ここでは、入力された命令は一旦一般ユーザ側プロセス５によって記憶領域に記憶される。例えば記憶装置８の／ｔｍｐ／ｕｓｒｉｎｉｔ＿ｆｉｌｅというファイル１０に書き込まれる。
【００６１】
一方、スーパーユーザプロセス３の代理デーモン４ａは、記憶装置８に記憶されている／ｔｍｐ／ｕｓｒｉｎｉｔ＿ｆｉｌｅファイル１０を定期的に監視する。例えば１０秒毎にファイル１０の中身を確認し、一般ユーザからの要求が記憶されていればそれを読み出し、管理テーブル９を参照して許可されたものであれば実行する。
【００６２】
或いは、これはメモリ７に記憶しても良い。ファイルは他のユーザから比較的見ることや書き換えることが容易であるが、メモリ７の特定領域に記憶された情報にアクセスすることは困難であり、よりセキュリティ性が高められる。また、メモリ７であれば再起動時までにデータが消去される可能性が高い。上述のように、代理スーパーユーザコマンドは代理デーモン４ａに解釈された後削除されて誤動作を防ぐようにしているが、ファイル１０にシャットダウン要求が書き込まれてシャットダウンする場合、このファイル１０の中身が万が一削除されないと、再起動されたときに再度シャットダウンが開始されてしまうということがありえる。メモリ７は通常再起動時にはクリアされているのでこのような不具合は起こりにくい。
【００６３】
このように代理スーパーユーザコマンドを一般ユーザが要求すると、代理デーモン４ａがコマンド内容とユーザ名を解釈し、許可されたユーザからの許可された要求であれば、代理デーモン４ａが一般ユーザに代わって所定のスーパーユーザコマンドを実行することができるようになる。
【００６４】
なお、本実施形態では、１台のコンピュータ内でスーパーユーザプロセス３と一般ユーザプロセス５が動作しており、ユーザからの要求はコンピュータ内で処理されていたが、ネットワーク１５で接続された他のコンピュータ１６からネットワーク１５を介してユーザが要求を出すようにしても良い。
【００６５】
次に第２の実施形態を説明する。図１において無停電電源装置１４は停電時に備え、内部に電力を貯えておき、停電が発生したときでも貯えた電力でコンピュータを一定期間動かし続け、シャットダウン作業などを行えるようにするものである。これにより停電時にも不整な終了を防ぎ安全性を高めることができる。この無停電電源装置１４をコンピュータの電源に接続しておくことは近年多くなっているが、この場合でも依然としてスーパーユーザ不在時のコンピュータのシャットダウンができないという不都合は解消されていない。
【００６６】
そこで、本実施の形態では、無停電電源装置１４から制御信号を取り出し、コンピュータに送信する機構を設けている。通常、コンピュータの電源は無停電電源装置１４から電力が供給されるだけである。無停電電源装置１４は正常時には蓄電部に電力を蓄電する動作を続けるが、停電が発生すると電源が接続された他装置に電力を供給するように機能が切り替わる。この時他装置側から見ればその動作の切り替えもほとんど認識されない。一方本実施形態では、この無停電電源装置１４側の機能が切り替わるときに無停電電源装置１４からその旨の信号を発するようにしておく。無停電電源装置１４から発せられた停電を知らせる信号はコンピュータの代理デーモン４ａが受け取り、例えばシャットダウン作業を開始する。つまり第一の実施形態では一般ユーザからの代理スーパーユーザコマンドに応じて代理デーモン４ａがスーパーユーザコマンドを実行していたが、本実施形態では、無停電電源装置１４からの信号を代理デーモン４ａが解釈してスーパーユーザコマンドを実行できるものである。
【００６７】
このように、突発的に発生する停電等でも、本発明のコンピュータシステムに無停電電源装置１４を組み合わせ、その制御信号を用いることによって安全性を格段に高めることができるようになる。
【００６８】
なお、本発明は、実際の実施形態としてはコンピュータに上記動作を行わせるのはソフトウェアであり、このソフトウェアをコンピュータにインストールすることによって実現できる。言い換えると、これまで述べてきた実施形態の動作を行わせるようにプログラムを作成し、例えばＣＤ−ＲＯＭ、フロッピーディスクなどの記録媒体に記録しておけば、コンピュータで当該プログラムを読み出し実行することで上記管理を行えるようになる。
【００６９】
【発明の効果】
以上説明したように、本発明のコンピュータシステムを用いれば、本来は本当のスーパーユーザしか利用することができないスーパーユーザコマンドの実行などを、セキュリティ性を確保した上で本来は権限のない一般ユーザにも利用できるようにすることができるので、非常時にやむなくコンピュータをシャットダウンしなければならないようなときにスーパーユーザが不在でも、許可された一般ユーザが代理で作業を行うことができる。
【００７０】
また、無停電電源装置など、コンピュータに接続された他の装置からの信号を受けてスーパーユーザコマンドを実行させることができ、非常時の安全性を保つこともできる。
【００７１】
また、これらの動作を行わせるのはソフトウェアであり、このソフトウェアをコンピュータにインストールすることによって上記機能を持たせることができるので、ＣＤ−ＲＯＭ、フロッピーディスクなどの記録媒体に記録しておけば、コンピュータで当該プログラムを読み出し実行することが容易にできるようになる。
【図面の簡単な説明】
【図１】本発明の一実施形態を説明するためのブロック図である。
【図２】コンピュータの起動時の流れを説明するフロー図である。
【図３】ｒｃファイルを説明する図である。
【図４】管理テーブルの例を示す図である。
【符号の説明】
１    中央処理装置
２    プロセス制御部
３    スーパーユーザプロセス
４ａ    代理デーモン
４ｂ    ／ｅｔｃ／ｉｎｉｔ
５    一般ユーザプロセス
６    ｕｓｒｉｎｉｔ
７    メモリ
８    記憶装置
９    管理テーブル
１０    ／ｔｍｐ／ｕｓｒｉｎｉｔ＿ｆｉｌｅ
１１    表示部
１２    キーボード
１３    プリンタ
１４    無停電電源装置
１５    ネットワーク
１６    ネットワーク上の他のコンピュータ
【図１】
0004174692.tif 000002
【図２】
0004174692.tif 000003
【図３】
0004174692.tif 000004
【図４】
0004174692.tif 000005