JPH06110763A - ファイルシステム - Google Patents
ファイルシステムInfo
- Publication number
- JPH06110763A JPH06110763A JP4262117A JP26211792A JPH06110763A JP H06110763 A JPH06110763 A JP H06110763A JP 4262117 A JP4262117 A JP 4262117A JP 26211792 A JP26211792 A JP 26211792A JP H06110763 A JPH06110763 A JP H06110763A
- Authority
- JP
- Japan
- Prior art keywords
- file
- protection information
- partial
- execution
- partial protection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
(57)【要約】
【目的】ファイル保護をそのファイル内の任意の部分領
域単位で行なう。 【構成】ファイル単位毎に所有者や他の利用者のアクセ
ス権を規定する保護情報12に加え、そのファイル内の
任意の部分領域毎に所有者や他の利用者のアクセス権を
規定する部分保護情報13が使用され、ファイル11内
の部分領域単位でその参照、更新、実行を許可/禁止す
ることができる。したがって、部分的なデータの保護を
同一のファイルに対して細かく設定可能となる。従って
資源の利用が効率良く行なえるばかりでなく、統一的な
アクセスも可能となる。
域単位で行なう。 【構成】ファイル単位毎に所有者や他の利用者のアクセ
ス権を規定する保護情報12に加え、そのファイル内の
任意の部分領域毎に所有者や他の利用者のアクセス権を
規定する部分保護情報13が使用され、ファイル11内
の部分領域単位でその参照、更新、実行を許可/禁止す
ることができる。したがって、部分的なデータの保護を
同一のファイルに対して細かく設定可能となる。従って
資源の利用が効率良く行なえるばかりでなく、統一的な
アクセスも可能となる。
Description
【0001】
【産業上の利用分野】この発明は、利用者にファイルの
部分的保護を可能とさせる信頼性の高いファイルシステ
ムを有する計算機システムに関する。
部分的保護を可能とさせる信頼性の高いファイルシステ
ムを有する計算機システムに関する。
【0002】
【従来の技術】一般に、複数の利用者が資源を共有し利
用する計算機システムにおけるファイルのアクセス保護
は、そのファイルの格納単位で制御されている。すなわ
ち、1つのファイルには1通りの保護情報が付加されて
いる。例えば計算機システムの代表的なオペレーティン
グシステムであるUNIXでは、各ファイル毎にその所
有者、グループに属する利用者、その他の利用者に対し
て、それぞれ参照、更新、実行権を示す3ビットの許可
ビットが付加されて格納されている。その様子を図12
に示す。許可ビットが所有者、グループに属する利用
者、その他の利用者の順に、参照権を“r”で、更新権
を“w”、で実行権を“x”で表している。また、
“−”は権利がないことを示している。従って、図12
の第1のファイルでは、所有には参照、更新、実行権が
あり、グループに属する利用者とその他の利用者には共
に参照、実行のみが許可されている。
用する計算機システムにおけるファイルのアクセス保護
は、そのファイルの格納単位で制御されている。すなわ
ち、1つのファイルには1通りの保護情報が付加されて
いる。例えば計算機システムの代表的なオペレーティン
グシステムであるUNIXでは、各ファイル毎にその所
有者、グループに属する利用者、その他の利用者に対し
て、それぞれ参照、更新、実行権を示す3ビットの許可
ビットが付加されて格納されている。その様子を図12
に示す。許可ビットが所有者、グループに属する利用
者、その他の利用者の順に、参照権を“r”で、更新権
を“w”、で実行権を“x”で表している。また、
“−”は権利がないことを示している。従って、図12
の第1のファイルでは、所有には参照、更新、実行権が
あり、グループに属する利用者とその他の利用者には共
に参照、実行のみが許可されている。
【0003】また、UNIXにはファイルへのアクセス
手段として、参照、更新、実行などのシステムコールが
用意されている。そして、それらのシステムコールにお
けるファイルへのアクセス許可には、先に示したファイ
ル単位毎に用意された許可ビットに従って判断されてい
る。
手段として、参照、更新、実行などのシステムコールが
用意されている。そして、それらのシステムコールにお
けるファイルへのアクセス許可には、先に示したファイ
ル単位毎に用意された許可ビットに従って判断されてい
る。
【0004】しかし、1つのファイルを複数の利用者が
共有し利用する計算機環境においては、利用者毎に部分
的に異なったアクセスを必要とする場合がある。例え
ば、文書ファイルの一部分だけは、その他の利用者から
の参照を防ぎたい場合がある。また、実行ファイルにお
いては、モジュールや部分的な実行単位毎で、その他の
利用者の実行を防ぎたい場合もある。このような要求を
UNIXシステムにおいて実現するためには、まず、そ
の保護要求を満たす別のファイルを作成する必要があ
る。
共有し利用する計算機環境においては、利用者毎に部分
的に異なったアクセスを必要とする場合がある。例え
ば、文書ファイルの一部分だけは、その他の利用者から
の参照を防ぎたい場合がある。また、実行ファイルにお
いては、モジュールや部分的な実行単位毎で、その他の
利用者の実行を防ぎたい場合もある。このような要求を
UNIXシステムにおいて実現するためには、まず、そ
の保護要求を満たす別のファイルを作成する必要があ
る。
【0005】例えば、図13の(a)において、誰から
も参照が可能な文書ファイルAに対して、P1で示され
る領域はその他の利用者からの参照を防ぎたいとする。
その場合は元の文書ファイルAから参照を防ぎたい部分
を削除した文書ファイルBを作成する。これを図13の
(b)に示す。そして、新たに作成した文書ファイルB
のアクセス許可ビットに文書ファイルAのアクセス許可
ビットを複写し、文書ファイルAのアクセス許可ビット
からその他利用者の参照権を除く必要がある。
も参照が可能な文書ファイルAに対して、P1で示され
る領域はその他の利用者からの参照を防ぎたいとする。
その場合は元の文書ファイルAから参照を防ぎたい部分
を削除した文書ファイルBを作成する。これを図13の
(b)に示す。そして、新たに作成した文書ファイルB
のアクセス許可ビットに文書ファイルAのアクセス許可
ビットを複写し、文書ファイルAのアクセス許可ビット
からその他利用者の参照権を除く必要がある。
【0006】また図13の(c)において、誰からも実
行可能な実行ファイルCに対してP2で示される実行単
位はその他の利用者の実行を防ぎたいとする。その場合
は元の実行ファイルから実行を防ぎたい部分を削除した
実行ファイルDを新たに作成する。これを図13の
(d)に示す。そして、新たに作成した実行ファイルD
のアクセス許可ビットに実行ファイルCのアクセス許可
ビットを複写し、実行ファイルCのアクセス許可ビット
からその他の利用者の実行権を除かなければならない。
行可能な実行ファイルCに対してP2で示される実行単
位はその他の利用者の実行を防ぎたいとする。その場合
は元の実行ファイルから実行を防ぎたい部分を削除した
実行ファイルDを新たに作成する。これを図13の
(d)に示す。そして、新たに作成した実行ファイルD
のアクセス許可ビットに実行ファイルCのアクセス許可
ビットを複写し、実行ファイルCのアクセス許可ビット
からその他の利用者の実行権を除かなければならない。
【0007】しかし、上記2つの例においては、複数の
ファイルを用意しなければならないこと、さらに元のフ
ァイルの名称と新たに作成したファイルの名称も別々の
ものとなり、統一的なアクセスができないという問題を
抱えている。従って、UNIXシステムでは、この様な
部分的な保護を同一のファイルに対して実現する機構は
ない。
ファイルを用意しなければならないこと、さらに元のフ
ァイルの名称と新たに作成したファイルの名称も別々の
ものとなり、統一的なアクセスができないという問題を
抱えている。従って、UNIXシステムでは、この様な
部分的な保護を同一のファイルに対して実現する機構は
ない。
【0008】
【発明が解決しようとする課題】以上のように、従来の
計算機システムでは、データの保護はファイルの格納単
位で設定されており、同一のファイルに対して異なった
利用者への部分的なアクセス保護を提供する機構がな
い。従って部分的な保護の設定には、複数のファイルを
用意しなければならず、資源の利用が非効率的であるば
かりでなく、統一的なアクセスができないだけではない
という問題があった。
計算機システムでは、データの保護はファイルの格納単
位で設定されており、同一のファイルに対して異なった
利用者への部分的なアクセス保護を提供する機構がな
い。従って部分的な保護の設定には、複数のファイルを
用意しなければならず、資源の利用が非効率的であるば
かりでなく、統一的なアクセスができないだけではない
という問題があった。
【0009】本発明では、上記の欠点を解決し、資源の
有効利用と、統一的なアクセスが可能な上、細かく部分
保護の設定されたファイルへのアクセスを可能とするフ
ァイルシステムを提供することを目的とする。
有効利用と、統一的なアクセスが可能な上、細かく部分
保護の設定されたファイルへのアクセスを可能とするフ
ァイルシステムを提供することを目的とする。
【0010】
【課題を解決するための手段および作用】本発明は、複
数の利用者が同一のファイルを共有し利用する計算機の
ファイルシステムにおいて、ファイル単位毎に所有者や
他の利用者のアクセス権を規定する保護情報、およびフ
ァイル内の任意の部分領域毎に所有者や他の利用者のア
クセス権を規定する部分保護情報を各ファイル毎に用意
し、これら保護情報および部分保護情報に従って、対応
するファイルの参照、更新、実行をファイル単位および
そのファイル内の部分領域単位で許可/禁止するアクセ
ス手段とを具備することを特徴とする。
数の利用者が同一のファイルを共有し利用する計算機の
ファイルシステムにおいて、ファイル単位毎に所有者や
他の利用者のアクセス権を規定する保護情報、およびフ
ァイル内の任意の部分領域毎に所有者や他の利用者のア
クセス権を規定する部分保護情報を各ファイル毎に用意
し、これら保護情報および部分保護情報に従って、対応
するファイルの参照、更新、実行をファイル単位および
そのファイル内の部分領域単位で許可/禁止するアクセ
ス手段とを具備することを特徴とする。
【0011】このファイルシステムにおいては、ファイ
ル単位毎に所有者や他の利用者のアクセス権を規定する
保護情報に加え、そのファイル内の任意の部分領域毎に
所有者や他の利用者のアクセス権を規定する部分保護情
報が使用され、ファイル内の部分領域単位でその参照、
更新、実行を許可/禁止することができる。したがっ
て、部分的なデータの保護を同一のファイルに対して細
かく設定可能となる。従って資源の利用が効率良く行な
えるばかりでなく、統一的なアクセスも可能となる。
ル単位毎に所有者や他の利用者のアクセス権を規定する
保護情報に加え、そのファイル内の任意の部分領域毎に
所有者や他の利用者のアクセス権を規定する部分保護情
報が使用され、ファイル内の部分領域単位でその参照、
更新、実行を許可/禁止することができる。したがっ
て、部分的なデータの保護を同一のファイルに対して細
かく設定可能となる。従って資源の利用が効率良く行な
えるばかりでなく、統一的なアクセスも可能となる。
【0012】
【実施例】以下、この発明の実施例を図面に従って説明
する。
する。
【0013】図1には、UNIXシステムに本発明を適
用したファイルシステムが示されている。このファイル
システムは、実際のデータが格納されているファイル1
1、そのファイル11のアクセス制御の記された保護情
報12、さらにそのファイル内の部分的なアクセス制御
を記した部分保護情報13、及びアプリケーションに提
供された従来のアクセス制御手段14、部分保護情報に
従った部分アクセス手段15によって構成される。
用したファイルシステムが示されている。このファイル
システムは、実際のデータが格納されているファイル1
1、そのファイル11のアクセス制御の記された保護情
報12、さらにそのファイル内の部分的なアクセス制御
を記した部分保護情報13、及びアプリケーションに提
供された従来のアクセス制御手段14、部分保護情報に
従った部分アクセス手段15によって構成される。
【0014】各ファイルには1つの保護情報12があ
り、この保護情報12にはUNIXシステムで用いられ
ている許可ビットと部分保護情報の存在を示す指標が格
納されている。この様子を図2に示す。
り、この保護情報12にはUNIXシステムで用いられ
ている許可ビットと部分保護情報の存在を示す指標が格
納されている。この様子を図2に示す。
【0015】図2に示されているように、許可ビットは
所有者、グループ、他の利用者それぞれに対するファイ
ルへの参照(r)、更新(w)、実行権(x)を示す。
部分保護情報13には、保護範囲を指定するための開始
位置がバイト開始位置とビット開始位置で、また保護サ
イズがバイト単位とビット単位を使って記録されてい
る。もしその保護範囲がバイト境界で指定される場合に
は、その保護範囲はバイト単位で示され、ビット開始位
置は0コードが入っている。一方保護範囲がビット境界
にわたる場合には、保護開始位置はバイト開始位置とビ
ット開始位置の両方を使って表され、保護サイズもバイ
ト単位とビット単位の両方で表される。また、これらの
保護範囲にはその範囲に限り有効な許可ビットが、先の
保護情報と同一の形式で格納されている。
所有者、グループ、他の利用者それぞれに対するファイ
ルへの参照(r)、更新(w)、実行権(x)を示す。
部分保護情報13には、保護範囲を指定するための開始
位置がバイト開始位置とビット開始位置で、また保護サ
イズがバイト単位とビット単位を使って記録されてい
る。もしその保護範囲がバイト境界で指定される場合に
は、その保護範囲はバイト単位で示され、ビット開始位
置は0コードが入っている。一方保護範囲がビット境界
にわたる場合には、保護開始位置はバイト開始位置とビ
ット開始位置の両方を使って表され、保護サイズもバイ
ト単位とビット単位の両方で表される。また、これらの
保護範囲にはその範囲に限り有効な許可ビットが、先の
保護情報と同一の形式で格納されている。
【0016】図3は、図2の部分保護情報13の付加さ
れているファイル11の保護状態を示したものである。
先頭の256バイトは部分保護情報で指定されていない
ため、従来の保護情報が適用され、グループ、その他の
利用者には参照、実行権がある。続く256バイトは部
分保護情報12に記録された第1の部分保護(rwx−
−−−−−)が適用されるため、所有者以外のアクセス
は全て拒否される。第2の部分保護(rwxr−x−−
−)はビット境界で指定されている。これは4097バ
イト目の上位4ビット目から開始される32バイトと1
ビット分の範囲が保護されており、グループの利用者に
対しては参照、実行を許可しているが、その他の利用者
のアクセスは全て拒否される。UNIXシステムにおい
て、利用者がアクセスするファイルには以下の種類があ
る。 (1)実行可能なオブジェクトファイル(バイナリファ
イル) (2)オブジェクトライブラリファイル(バイナリファ
イル) (3)実行可能なスクリプトファイル(テキストファイ
ル) (4)テキストデータファイル (5)バイナリデータファイル
れているファイル11の保護状態を示したものである。
先頭の256バイトは部分保護情報で指定されていない
ため、従来の保護情報が適用され、グループ、その他の
利用者には参照、実行権がある。続く256バイトは部
分保護情報12に記録された第1の部分保護(rwx−
−−−−−)が適用されるため、所有者以外のアクセス
は全て拒否される。第2の部分保護(rwxr−x−−
−)はビット境界で指定されている。これは4097バ
イト目の上位4ビット目から開始される32バイトと1
ビット分の範囲が保護されており、グループの利用者に
対しては参照、実行を許可しているが、その他の利用者
のアクセスは全て拒否される。UNIXシステムにおい
て、利用者がアクセスするファイルには以下の種類があ
る。 (1)実行可能なオブジェクトファイル(バイナリファ
イル) (2)オブジェクトライブラリファイル(バイナリファ
イル) (3)実行可能なスクリプトファイル(テキストファイ
ル) (4)テキストデータファイル (5)バイナリデータファイル
【0017】UNIXでは、この内(2),(4),
(5)のファイルについてはユーザプロセスが参照、更
新を行なうためのreadシステムコール、write
システムコールが用意されている。また、(1),
(3)に対してはカーネルが直接ファイルから内容をメ
モリに読み込み実行するexecシステムコール用意さ
れている。従って本発明では、上記どちらの場合も、部
分保護情報の存在するファイルに対しては、これらのシ
ステムコールに代わる部分アクセス手段を用意する。
(2),(4),(5)のファイルに対するアクセス手
段は例1,2で述べる。また、(1),(3)のファイ
ルに対するアクセス手段は例3,4で述べる。 [例1]上記に示したファイルシステムにおける、部分
保護情報13の付加されているファイルの参照手続きの
実施例を図4及び図5を使って説明する。
(5)のファイルについてはユーザプロセスが参照、更
新を行なうためのreadシステムコール、write
システムコールが用意されている。また、(1),
(3)に対してはカーネルが直接ファイルから内容をメ
モリに読み込み実行するexecシステムコール用意さ
れている。従って本発明では、上記どちらの場合も、部
分保護情報の存在するファイルに対しては、これらのシ
ステムコールに代わる部分アクセス手段を用意する。
(2),(4),(5)のファイルに対するアクセス手
段は例1,2で述べる。また、(1),(3)のファイ
ルに対するアクセス手段は例3,4で述べる。 [例1]上記に示したファイルシステムにおける、部分
保護情報13の付加されているファイルの参照手続きの
実施例を図4及び図5を使って説明する。
【0018】まず、ユーザプロセスからファイル11の
オープンシステムコールが発生すると、まず、ファイル
の保護情報を検査する(ステップS1)。もし保護情報
の部分保護情報指標がセットされていない場合は、従来
のファイルオープン手続きを行なった後、従来のアクセ
ス手段14、すなわちreadシステムコールに制御を
渡す(ステップS2,S3)。一方、部分保護情報指標
がセットされている場合は、従来のアクセス手段14で
はなく、部分アクセス手段15で用意した別の手続きを
使ってファイルの参照を行なう(ステップS2,S3〜
S5)。
オープンシステムコールが発生すると、まず、ファイル
の保護情報を検査する(ステップS1)。もし保護情報
の部分保護情報指標がセットされていない場合は、従来
のファイルオープン手続きを行なった後、従来のアクセ
ス手段14、すなわちreadシステムコールに制御を
渡す(ステップS2,S3)。一方、部分保護情報指標
がセットされている場合は、従来のアクセス手段14で
はなく、部分アクセス手段15で用意した別の手続きを
使ってファイルの参照を行なう(ステップS2,S3〜
S5)。
【0019】ファイルのデータをバッファ領域に複写す
る際には、保護されているデータ部分の参照に対して、
指定したコードでマスクをかけるか、あるいは読み飛ば
すかのいずれかの手段があるが、ここではファイルのオ
ープン時にその手段を選択できるものとする。従ってフ
ァイルのオープンシステムコールを以下のように拡張す
ることで実現できる。 open(ファイル記述子、ファイルネーム、モード、
マスクフラグ、マスクパターン)
る際には、保護されているデータ部分の参照に対して、
指定したコードでマスクをかけるか、あるいは読み飛ば
すかのいずれかの手段があるが、ここではファイルのオ
ープン時にその手段を選択できるものとする。従ってフ
ァイルのオープンシステムコールを以下のように拡張す
ることで実現できる。 open(ファイル記述子、ファイルネーム、モード、
マスクフラグ、マスクパターン)
【0020】ここで、もしマスクフラグが指定されてい
ない場合には、保護されていて参照できない箇所は読み
飛ばす(ステップS4,S5)。実際には、読み取りサ
イズ、部分保護情報のオフセット、サイズ、許可ビット
から読み出し位置を移動させればよい。またマスクフラ
グが指定されていた場合には、保護された領域にはマス
クパターンが埋められたデータを参照するものとする
(ステップS4,S6)。同様に、読み取り位置、読み
取りサイズ、部分保護情報のオフセット、サイズ、許可
ビットから許可されていない領域の参照時にはマスクパ
ターンをバッファ領域に複写することになる。
ない場合には、保護されていて参照できない箇所は読み
飛ばす(ステップS4,S5)。実際には、読み取りサ
イズ、部分保護情報のオフセット、サイズ、許可ビット
から読み出し位置を移動させればよい。またマスクフラ
グが指定されていた場合には、保護された領域にはマス
クパターンが埋められたデータを参照するものとする
(ステップS4,S6)。同様に、読み取り位置、読み
取りサイズ、部分保護情報のオフセット、サイズ、許可
ビットから許可されていない領域の参照時にはマスクパ
ターンをバッファ領域に複写することになる。
【0021】図5は、部分保護情報の付加されたファイ
ルの参照イメージの例を示したものである。(a)は元
のファイルであり、オフセットP1からサイズS1分の範囲
に保護がかけられている。そして、その保護領域につい
ての参照権がないユーザがそのファイル全体の参照を行
なった場合の参照イメージを(b),(c)に示す。
(b)は保護されているサイズS1分のデータを除いたデ
ータが読み込まれ、(c)ではファイルオープン時にマ
スクを指定した場合に、保護された領域にマスクパター
ンが埋められて読み込まれる様子を表している。従っ
て、(b)では(元のファイルのサイズ − S1)が参
照可能なファイルサイズとなり、(c)では見かけ上の
参照可能サイズが元のファイルと同じサイズであるとい
う違いがある。 [例2]上記に示したファイルシステムにおける、部分
保護情報13の付加されているファイルの更新手続きの
例を説明する。
ルの参照イメージの例を示したものである。(a)は元
のファイルであり、オフセットP1からサイズS1分の範囲
に保護がかけられている。そして、その保護領域につい
ての参照権がないユーザがそのファイル全体の参照を行
なった場合の参照イメージを(b),(c)に示す。
(b)は保護されているサイズS1分のデータを除いたデ
ータが読み込まれ、(c)ではファイルオープン時にマ
スクを指定した場合に、保護された領域にマスクパター
ンが埋められて読み込まれる様子を表している。従っ
て、(b)では(元のファイルのサイズ − S1)が参
照可能なファイルサイズとなり、(c)では見かけ上の
参照可能サイズが元のファイルと同じサイズであるとい
う違いがある。 [例2]上記に示したファイルシステムにおける、部分
保護情報13の付加されているファイルの更新手続きの
例を説明する。
【0022】一般にファイルの更新はファイルの一部分
の更新と、ファイル全体の更新がある。UNIXシステ
ムで用意されているwriteシステムコールでは、フ
ァイルポインタで指定された読み込み位置からバッファ
領域のデータを、指定サイズ分上書きする部分的な更新
を行なうものである。部分保護情報が付加されているフ
ァイルへの部分的な書き込みは、書き込む位置と書き込
みサイズに従って保護領域外を更新する場合、保護領域
内を更新する場合、保護領域内と保護領域外の両方を更
新する場合の3通りが考えられる。従って、書き込み位
置、書き込みサイズ、保護開始位置、保護サイズ、許可
ビットから書き込み可能かどうか判断する必要がある。
の更新と、ファイル全体の更新がある。UNIXシステ
ムで用意されているwriteシステムコールでは、フ
ァイルポインタで指定された読み込み位置からバッファ
領域のデータを、指定サイズ分上書きする部分的な更新
を行なうものである。部分保護情報が付加されているフ
ァイルへの部分的な書き込みは、書き込む位置と書き込
みサイズに従って保護領域外を更新する場合、保護領域
内を更新する場合、保護領域内と保護領域外の両方を更
新する場合の3通りが考えられる。従って、書き込み位
置、書き込みサイズ、保護開始位置、保護サイズ、許可
ビットから書き込み可能かどうか判断する必要がある。
【0023】しかし、ファイル全体を更新する場合には
注意が必要である。例えばUNIXのエディタプログラ
ムではファイルの更新時に、createシステムコー
ルを使用して元のファイルのサイズを0にした後に、w
riteシステムコールを使ってファイル全体を更新し
ているものがある。そのようなアプリケーションでは、
部分保護情報13が付加されているファイルに対して
は、その部分保護情報が無効になってしまうことにな
る。従ってファイルサイズを変更する可能性のあるシス
テムコールでは、部分保護情報13が付加されているフ
ァイルに対してはエラーを返すようにする必要がある。
また、ファイルの削除を行なうunlinkシステムコ
ールにおいても、部分保護情報13が付加されている場
合には、ファイルの所有者のみが実行可能なようにする
必要もある。次に、ファイル全体を更新する様子につい
て説明する。
注意が必要である。例えばUNIXのエディタプログラ
ムではファイルの更新時に、createシステムコー
ルを使用して元のファイルのサイズを0にした後に、w
riteシステムコールを使ってファイル全体を更新し
ているものがある。そのようなアプリケーションでは、
部分保護情報13が付加されているファイルに対して
は、その部分保護情報が無効になってしまうことにな
る。従ってファイルサイズを変更する可能性のあるシス
テムコールでは、部分保護情報13が付加されているフ
ァイルに対してはエラーを返すようにする必要がある。
また、ファイルの削除を行なうunlinkシステムコ
ールにおいても、部分保護情報13が付加されている場
合には、ファイルの所有者のみが実行可能なようにする
必要もある。次に、ファイル全体を更新する様子につい
て説明する。
【0024】図6の(a)と(b)に更新前のファイル
の構造とその保護情報及び部分保護情報の例を示す。こ
のファイル保護情報(rwxr−xr−x)ではグルー
プの利用者、その他の利用者に対して参照、実行が許可
されているが、部分保護情報(p3 ,0x0 s2,0x0,
rwxr−x−−−)によってオフセットP1からサ
イズS2分だけバイト境界で部分的に保護がかけてあり、
グループに属する利用者のみだけに参照、実行が許可さ
れている。このファイルに対して、(a)と(c)に示
すように、オフセットP1にサイズS3のデータを挿入し、
オフセットP2からサイズS1のデータを削除し、サイズS4
のデータを追加するという更新を行なう場合の部分保護
情報の更新手順を図7のフローチャートを参照して説明
する。
の構造とその保護情報及び部分保護情報の例を示す。こ
のファイル保護情報(rwxr−xr−x)ではグルー
プの利用者、その他の利用者に対して参照、実行が許可
されているが、部分保護情報(p3 ,0x0 s2,0x0,
rwxr−x−−−)によってオフセットP1からサ
イズS2分だけバイト境界で部分的に保護がかけてあり、
グループに属する利用者のみだけに参照、実行が許可さ
れている。このファイルに対して、(a)と(c)に示
すように、オフセットP1にサイズS3のデータを挿入し、
オフセットP2からサイズS1のデータを削除し、サイズS4
のデータを追加するという更新を行なう場合の部分保護
情報の更新手順を図7のフローチャートを参照して説明
する。
【0025】ここで、このファイルに対する保護情報で
の更新権は、ファイルのオープン時に検査済みであると
する。さらに、更新イメージは既にバッファ上にあるも
のとする。
の更新権は、ファイルのオープン時に検査済みであると
する。さらに、更新イメージは既にバッファ上にあるも
のとする。
【0026】最初に、部分保護情報13の存在を検査す
る(ステップS11)。部分保護情報13があった場合
には、部分保護情報の更新作業を始める(ステップS1
2)。部分保護情報がない場合には、writeシステ
ムコールを使った従来の更新処理が実行される(ステッ
プS13)。また、部分保護情報がある場合には、ファ
イル全体の更新か、部分的な更新かによって処理が別れ
る。部分的な更新の場合(ステップS21)は、保護領
域の更新許可がチェックされ(ステップS22)、更新
可能であれば、writeシステムコールを使った従来
の更新処理が実行される(ステップS23)。更新不可
能であれば、所定のエラー処理が行なわれる(ステップ
S24)。
る(ステップS11)。部分保護情報13があった場合
には、部分保護情報の更新作業を始める(ステップS1
2)。部分保護情報がない場合には、writeシステ
ムコールを使った従来の更新処理が実行される(ステッ
プS13)。また、部分保護情報がある場合には、ファ
イル全体の更新か、部分的な更新かによって処理が別れ
る。部分的な更新の場合(ステップS21)は、保護領
域の更新許可がチェックされ(ステップS22)、更新
可能であれば、writeシステムコールを使った従来
の更新処理が実行される(ステップS23)。更新不可
能であれば、所定のエラー処理が行なわれる(ステップ
S24)。
【0027】ファイル全体の更新の場合(ステット1
4)には、まず、更新前のファイルとバッファ上データ
を比較することにより、以下のオフセットとサイズで表
された差分データを得る(ステップS15)。 オフセット サイズ P1 +S3 P2 −S1 P4 +S4 ここでは、サイズは挿入・追加を正の数で、削除を負の
数で表され、オフセットが小さい順にソーティングされ
ているものとする。
4)には、まず、更新前のファイルとバッファ上データ
を比較することにより、以下のオフセットとサイズで表
された差分データを得る(ステップS15)。 オフセット サイズ P1 +S3 P2 −S1 P4 +S4 ここでは、サイズは挿入・追加を正の数で、削除を負の
数で表され、オフセットが小さい順にソーティングされ
ているものとする。
【0028】次に、更新前の部分保護情報から保護開始
位置(p3)と保護サイズ(S2)を1つ取り出す(ステッ
プS16)。また、差分データからオフセットとサイズ
を取り出す(ステップS17)。そして、部分保護の保
護開始位置と差分データのオフセットを比較する。この
例ではサイズの符号からデータの挿入ということがわか
り、 差分データのオフセットP1≦部分保護開始位置P3 から、部分保護データの前に挿入されるので、 新しい部分保護開始位置Po=部分保護開始位置P3+差分
データサイズS3 新しい部分保護サイズPs=部分保護サイズS2 となる。次の差分データについては、同様にデータの削
除であることがわかり、 差分データのオフセットP2+サイズS1<部分保護開始位
置P3 から、部分保護データの前からサイズS1分削除されるの
で、 新しい部分保護開始位置Po=新しい部分保護開始位置Po
−差分データサイズS1 新しい部分保護サイズPs=新しい部分保護サイズPs となる。最後の差分データについては、 差分データのオフセットP3+サイズS4≧部分保護開始位
置P3+部分保護サイズS1 から、部分保護データの後に追加されることがわかるの
で、新しい部分保護開始位置、サイズともに変更する必
要はなく、 新しい部分保護開始位置Po=新しい部分保護開始位置P
o 新しい部分保護サイズPs=新しい部分保護サイズPs となる。以上から最終的な新しい部分保護情報は、 新しい部分保護開始位置Po=P3+S3−S1 新しい部分保護サイズPs=S2 という結果が得られ、この新しい部分保護情報と、変更
されたデータを格納して、ファイルの更新が終了する
(ステップS18,S20)。 [例3]
位置(p3)と保護サイズ(S2)を1つ取り出す(ステッ
プS16)。また、差分データからオフセットとサイズ
を取り出す(ステップS17)。そして、部分保護の保
護開始位置と差分データのオフセットを比較する。この
例ではサイズの符号からデータの挿入ということがわか
り、 差分データのオフセットP1≦部分保護開始位置P3 から、部分保護データの前に挿入されるので、 新しい部分保護開始位置Po=部分保護開始位置P3+差分
データサイズS3 新しい部分保護サイズPs=部分保護サイズS2 となる。次の差分データについては、同様にデータの削
除であることがわかり、 差分データのオフセットP2+サイズS1<部分保護開始位
置P3 から、部分保護データの前からサイズS1分削除されるの
で、 新しい部分保護開始位置Po=新しい部分保護開始位置Po
−差分データサイズS1 新しい部分保護サイズPs=新しい部分保護サイズPs となる。最後の差分データについては、 差分データのオフセットP3+サイズS4≧部分保護開始位
置P3+部分保護サイズS1 から、部分保護データの後に追加されることがわかるの
で、新しい部分保護開始位置、サイズともに変更する必
要はなく、 新しい部分保護開始位置Po=新しい部分保護開始位置P
o 新しい部分保護サイズPs=新しい部分保護サイズPs となる。以上から最終的な新しい部分保護情報は、 新しい部分保護開始位置Po=P3+S3−S1 新しい部分保護サイズPs=S2 という結果が得られ、この新しい部分保護情報と、変更
されたデータを格納して、ファイルの更新が終了する
(ステップS18,S20)。 [例3]
【0029】上記に示したファイルシステムにおける、
部分保護情報の付加されているオブジェクトファイルの
実行手続きの実施例を図8のフローチャートを参照して
説明する。
部分保護情報の付加されているオブジェクトファイルの
実行手続きの実施例を図8のフローチャートを参照して
説明する。
【0030】まず、部分保護情報の存在がチェックされ
(ステップS31)、部分保護情報がない場合にはex
ecシステムコールを使った従来のプログラム実行処理
が行なわれる(ステップS32)。このシステムコール
では、ファイルの実行許可のチェック、ファイルがロー
ドモジュールかどうかのチェックを行なった後、ロード
モジュールに必要なメモリ領域を確保し、ファイルのロ
ードモジュールをあらかじめ確保したメモリ上にロード
する。
(ステップS31)、部分保護情報がない場合にはex
ecシステムコールを使った従来のプログラム実行処理
が行なわれる(ステップS32)。このシステムコール
では、ファイルの実行許可のチェック、ファイルがロー
ドモジュールかどうかのチェックを行なった後、ロード
モジュールに必要なメモリ領域を確保し、ファイルのロ
ードモジュールをあらかじめ確保したメモリ上にロード
する。
【0031】一方、部分保護情報がある場合には、ロー
ドモジュールに必要なメモリ領域の確保(ステップS3
3)、ファイルのロードモジュールをあらかじめ確保し
たメモリ上にロード(ステップS34)が同様にして行
なわれるが、ファイルからメモリ上にプログラムをロー
ドする時点で、部分保護情報がチェックされ(ステップ
S35)、もし、実行が許可されていない領域について
は無効なコード(NOPコードなど)で置き換える(ス
テップS37)。またその領域がモジュールであった場
合には、無効なコードへ置換えと最後のコードをリター
ンコードに置き換えることで、実行を防ぐことができる
(ステップS38)。
ドモジュールに必要なメモリ領域の確保(ステップS3
3)、ファイルのロードモジュールをあらかじめ確保し
たメモリ上にロード(ステップS34)が同様にして行
なわれるが、ファイルからメモリ上にプログラムをロー
ドする時点で、部分保護情報がチェックされ(ステップ
S35)、もし、実行が許可されていない領域について
は無効なコード(NOPコードなど)で置き換える(ス
テップS37)。またその領域がモジュールであった場
合には、無効なコードへ置換えと最後のコードをリター
ンコードに置き換えることで、実行を防ぐことができる
(ステップS38)。
【0032】図9において、(a)は部分保護情報が付
加されている実行ファイルを示し、(b)はその他の利
用者がそのプログラムを実行する際にメモリ上にロード
されたプログラムイメージを示す。図中NOPは無効な
コードを、またRETはリターンコードを表している。 [例4]
加されている実行ファイルを示し、(b)はその他の利
用者がそのプログラムを実行する際にメモリ上にロード
されたプログラムイメージを示す。図中NOPは無効な
コードを、またRETはリターンコードを表している。 [例4]
【0033】上記に示したファイルシステムにおける、
部分保護情報の付加されているオブジェクトライブラリ
のリンク手続きの例を図10のフローチャートを参照し
て説明する。
部分保護情報の付加されているオブジェクトライブラリ
のリンク手続きの例を図10のフローチャートを参照し
て説明する。
【0034】まず、オブジェクトライブラリに部分保護
情報が付加されているか否かを調べる(ステップS4
1)。部分保護情報が付加されてない場合には、実行モ
ジュールへの通常のリンク手続きが実行される(ステッ
プS42)。UNIXシステムでは、オブジェクトライ
ブラリの実行モジュールへのリンクはリンカと呼ばれる
アプリケーションプログラムによって行なわれている。
このアプリケーションでは、オブジェクトライブラリか
らのモジュールのロードは、実際にはreadシステム
コールでバッファ上に読み込まれ、アドレスの再配置を
行なった後に、実行ファイルにwriteシステムコー
ルを使って付加される。
情報が付加されているか否かを調べる(ステップS4
1)。部分保護情報が付加されてない場合には、実行モ
ジュールへの通常のリンク手続きが実行される(ステッ
プS42)。UNIXシステムでは、オブジェクトライ
ブラリの実行モジュールへのリンクはリンカと呼ばれる
アプリケーションプログラムによって行なわれている。
このアプリケーションでは、オブジェクトライブラリか
らのモジュールのロードは、実際にはreadシステム
コールでバッファ上に読み込まれ、アドレスの再配置を
行なった後に、実行ファイルにwriteシステムコー
ルを使って付加される。
【0035】部分保護情報がある場合には、その部分保
護情報をチェックし、リンクするモジュールが実行可能
か否かを調べる(ステップS43)。実行可能であれ
ば、通常通りリンク手続きを行ない(ステップS4
4)、実行不可能であれば、部分保護サイズ分を先頭か
ら無効なコードに置き換えてバッファ上に読み込み、最
後のコードをリターンコードに置き換え、その後、再配
置して実行モジュールに付加すれば、そのモジュールの
実行を防ぐことができる(ステップS45)。
護情報をチェックし、リンクするモジュールが実行可能
か否かを調べる(ステップS43)。実行可能であれ
ば、通常通りリンク手続きを行ない(ステップS4
4)、実行不可能であれば、部分保護サイズ分を先頭か
ら無効なコードに置き換えてバッファ上に読み込み、最
後のコードをリターンコードに置き換え、その後、再配
置して実行モジュールに付加すれば、そのモジュールの
実行を防ぐことができる(ステップS45)。
【0036】図11には、部分保護情報が付加されてい
るオブジェクトライブラリが(a)に、またそのライブ
ラリから実行の保護されているモジュールを、その他の
使用者が実行ファイルにリンクした結果が(b)として
示されている。
るオブジェクトライブラリが(a)に、またそのライブ
ラリから実行の保護されているモジュールを、その他の
使用者が実行ファイルにリンクした結果が(b)として
示されている。
【0037】以上のようにこの実施例においては、ファ
イル単位毎に所有者や他の利用者のアクセス権を規定す
る保護情報12に加え、そのファイル内の任意の部分領
域毎に所有者や他の利用者のアクセス権を規定する部分
保護情報13が使用され、ファイル11内の部分領域単
位でその参照、更新、実行を許可/禁止することができ
る。したがって、部分的なデータの保護を同一のファイ
ルに対して細かく設定可能となる。従って資源の利用が
効率良く行なえるばかりでなく、統一的なアクセスも可
能となる。
イル単位毎に所有者や他の利用者のアクセス権を規定す
る保護情報12に加え、そのファイル内の任意の部分領
域毎に所有者や他の利用者のアクセス権を規定する部分
保護情報13が使用され、ファイル11内の部分領域単
位でその参照、更新、実行を許可/禁止することができ
る。したがって、部分的なデータの保護を同一のファイ
ルに対して細かく設定可能となる。従って資源の利用が
効率良く行なえるばかりでなく、統一的なアクセスも可
能となる。
【0038】
【発明の効果】以上説明したように、本発明によれば、
共有ファイルに関してファイルの格納単位だけではな
く、部分的なアクセス制御を同一のファイルにおいて可
能となるため、細かなセキュリティ管理と、統一的なア
クセスと、資源の効率的な利用を実現できる。
共有ファイルに関してファイルの格納単位だけではな
く、部分的なアクセス制御を同一のファイルにおいて可
能となるため、細かなセキュリティ管理と、統一的なア
クセスと、資源の効率的な利用を実現できる。
【図1】この発明の一実施例に係わるファイルシステム
の構成を示すブロック図。
の構成を示すブロック図。
【図2】同実施例において使用される保護情報と部分保
護情報の一例を示す図。
護情報の一例を示す図。
【図3】図2の部分保護情報に対応するデータの構造を
示す図。
示す図。
【図4】同実施例におけるアクセス手段のファイル参照
時の動作を説明するフローチャート。
時の動作を説明するフローチャート。
【図5】同実施例におけるアクセス手段のファイル参照
時のファイルイメージを示す図。
時のファイルイメージを示す図。
【図6】同実施例におけるアクセス手段のファイル更新
時のファイルイメージを示す図。
時のファイルイメージを示す図。
【図7】同実施例におけるアクセス手段のファイル更新
動作を説明するフローチャート。
動作を説明するフローチャート。
【図8】同実施例におけるアクセス手段のファイル実行
動作を説明するフローチャート。
動作を説明するフローチャート。
【図9】同実施例における実行ファイルのロードイメー
ジを示す図。
ジを示す図。
【図10】同実施例において実行ファイルのリンク動作
を説明するフローチャート。
を説明するフローチャート。
【図11】同実施例におけるライブラリをリンクした実
行ファイルの例を示す。
行ファイルの例を示す。
【図12】従来のファイルシステムを説明するための
図。
図。
【図13】従来のファイルシステムにおける文書ファイ
ルと実行ファイルのイメージを示す図。
ルと実行ファイルのイメージを示す図。
11…ファイル、12…保護情報、13…部分保護情
報、15…部分アクセス手段。
報、15…部分アクセス手段。
Claims (5)
- 【請求項1】 複数の利用者が同一のファイルを共有し
利用する計算機のファイルシステムにおいて、 ファイル単位毎に所有者や他の利用者のアクセス権を規
定する保護情報、およびファイル内の任意の部分領域毎
に所有者や他の利用者のアクセス権を規定する部分保護
情報を各ファイル毎に用意し、 これら保護情報および部分保護情報に従って、対応する
ファイルの参照、更新、実行をファイル単位およびその
ファイル内の部分領域単位で許可/禁止するアクセス手
段とを具備することを特徴とするファイルシステム。 - 【請求項2】 前記アクセス手段は、前記保護情報によ
って参照が許可され、かつ前記部分保護情報によって参
照が禁止されている部分領域を持つファイルを参照する
時、前記部分保護情報によって参照禁止されている領域
のデータを空白または無効コードに置き換えるか、ある
いはその箇所のデータを読み飛ばすことを特徴とする請
求項1記載のファイルシステム。 - 【請求項3】 前記アクセス手段は、前記部分保護情報
によって保護される部分領域を持つファイルを更新する
時、更新前のデータと更新後のデータとの差に従ってそ
の更新により挿入、削除、追加されるデータの位置とサ
イズを取得し、その情報に基づいて前記部分保護情報を
更新することにより更新後のファイルに対応する新たな
部分保護情報を生成することを特徴とする請求項1記載
のファイルシステム。 - 【請求項4】 前記アクセス手段は、前記保護情報によ
って実行が許可され、かつ前記部分保護情報によって実
行が禁止されている部分領域を持つオブジェクトファイ
ルを実行する時、前記部分領域のオブジェクトコードを
無効な実行コードに置き換えると共に、所定の制御フロ
ーコードを付加して主記憶に読み込むことを特徴とする
請求項1記載のファイルシステム。 - 【請求項5】 前記アクセス手段は、前記保護情報によ
って参照が許可され、かつ前記部分保護情報によって実
行が禁止されている部分領域を持つオブジェクトライブ
ラリファイルをリンクする時、前記部分領域の保護され
たモジュールは無効な実行コードに置き換えると共に、
所定の制御フローコードを付加してリンクすることを特
徴とする請求項1記載のファイルシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4262117A JPH06110763A (ja) | 1992-09-30 | 1992-09-30 | ファイルシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4262117A JPH06110763A (ja) | 1992-09-30 | 1992-09-30 | ファイルシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06110763A true JPH06110763A (ja) | 1994-04-22 |
Family
ID=17371288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4262117A Pending JPH06110763A (ja) | 1992-09-30 | 1992-09-30 | ファイルシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06110763A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012174147A (ja) * | 2011-02-23 | 2012-09-10 | Fujitsu Ltd | 情報提供プログラム、情報提供装置および情報提供方法 |
CN113361231A (zh) * | 2021-07-06 | 2021-09-07 | 北京字跳网络技术有限公司 | 信息引用方法、***、装置和电子设备 |
-
1992
- 1992-09-30 JP JP4262117A patent/JPH06110763A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012174147A (ja) * | 2011-02-23 | 2012-09-10 | Fujitsu Ltd | 情報提供プログラム、情報提供装置および情報提供方法 |
CN113361231A (zh) * | 2021-07-06 | 2021-09-07 | 北京字跳网络技术有限公司 | 信息引用方法、***、装置和电子设备 |
CN113361231B (zh) * | 2021-07-06 | 2024-05-28 | 北京字跳网络技术有限公司 | 信息引用方法、***、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11436163B2 (en) | System and method for logical deletion of stored data objects | |
US6826604B2 (en) | Input/output device information management system for multi-computer system | |
JP2912840B2 (ja) | ファイル管理システム | |
US6247024B1 (en) | Method and system for performing deferred file removal in a file system | |
Jones et al. | A language extension for expressing constraints on data access | |
US7539680B2 (en) | Revision control for database of evolved design | |
Wulf et al. | Hydra: The kernel of a multiprocessor operating system | |
US5734899A (en) | Device for managing data in a version | |
US5832263A (en) | System and method for in-place modification of information recorded in read-only storage using modifiable non-volatile storage associated with an agent | |
KR100905564B1 (ko) | 콘텐츠 관리 방법 및 콘텐츠 관리 장치 | |
US10417179B2 (en) | Method for managing files and apparatus using the same | |
US8452740B2 (en) | Method and system for security of file input and output of application programs | |
JPH07262072A (ja) | ファイル管理装置 | |
US8943279B1 (en) | System and method for toggling a storage system versioning feature | |
JPH0652531B2 (ja) | リレーシヨナル・データベース管理システム | |
JP3727076B2 (ja) | プログラム管理方法および装置 | |
AU2005239729A1 (en) | Systems and methods for reconciling image metadata | |
Flink et al. | System V/MLS labeling and mandatory policy alternatives | |
JPH06110763A (ja) | ファイルシステム | |
JPH04344955A (ja) | アクセス権の一時的変更方法 | |
CN107688732B (zh) | 一种资源权限的配置、获取方法及装置 | |
JP3169596B2 (ja) | データベース管理装置 | |
JPS63153633A (ja) | プログラムの利用制限方式 | |
JPS5947341B2 (ja) | 索引順編成フアイルの動的排他制御方式 | |
JPH07253894A (ja) | 共有記憶装置 |