CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
ファイルパーミッション - Wikipedia

ファイルパーミッション

出典: フリー百科事典『ウィキペディア(Wikipedia)』

ファイルパーミッションFile Permission)とは、ファイルシステム内のファイル毎に特定のユーザーやグループに対してアクセス権を設定する手法。単にパーミッションとも言う。これによりユーザー毎のファイルシステムの見え方に影響を与え、ファイルシステムへの変更を制限する。

目次

[編集] オペレーティングシステムによる違い

UNIX系やPOSIX準拠のシステムは個々のファイルを単純な方式で管理する。POSIXにはアクセス制御リスト方式も規定されているが、それを実装しているのは一部のファイルシステムやオペレーティングシステムだけである。

MS-DOS系のオペレーティングシステム(Windows 95Windows 98Windows Meなどを含む)はパーミッションを持たない。単に「リードオンリー(読み込みのみ)」という属性を任意のユーザーがファイル単位に設定できるだけである。

Mac OS XWindows NTおよびその派生(Windows 2000Windows XPを含む)、OpenVMSアクセス制御リスト(ACL)を使用してもっと複雑で多様なパーミッションを管理している。

[編集] UNIX系のパーミッション

UNIX系システムのパーミッションは3つの「クラス」に分けて管理される。そのクラスとは「ユーザー; user」、「グループ; group」、「その他; others」である。事実上、UNIXのパーミッションはアクセス制御リストを単純化したものと言える。

[編集] クラス

UNIXのファイルシステムでは、全てのファイルディレクトリは特定のユーザーが「所有」している。オブジェクトの所有者がその「ユーザークラス」に対応する。ユーザークラスのパーミッションはその特定のユーザーにのみ適用される。

ファイルにはグループも対応付けられていて、それが「グループクラス」に対応する。グループクラスのパーミッションはそのグループのメンバー(所有者以外)にのみ適用される。

どちらでもないそれ以外のユーザーには「その他クラス」のパーミッションが適用される。

あるユーザーに適用される実際のパーミッションは、これらの論理的優先順位に従って決定される。例えば、あるファイルを所有するユーザーはグループやその他のクラスがどうであれ、ユーザークラスのパーミッションの適用を受ける。

[編集] 基本パーミッション

UNIX系システムでは、いずれのクラスにも以下の3種類のパーミッションが存在する。

  • 「リード; read」パーミッション:ファイルやディレクトリを読むことが許可される。
  • 「ライト; write」パーミッション:ファイルの変更が許可される。ディレクトリの場合、ツリーの構造変更(ファイルの新規作成、作成したファイルのパーミッション設定、ファイルの削除など)が許可される。
  • 「実行; execute」パーミッション:ファイルを実行することが許可される。このパーミッションはバイナリファイル以外でも設定でき、設定されたファイルは実行される(少なくとも要求されれば実行しようと試みる)。ディレクトリに設定されると、そのディレクトリに移動することができる。

パーミッションがセットされていないと、その権利は行使できない。ACLベースのシステムとは異なり、UNIX系システムのパーミッションは「継承」されない。ディレクトリ内のファイル群はディレクトリと同じパーミッションであるとは限らない。割り当てられるパーミッションはumaskを使って決定される。

[編集] その他のパーミッション

UNIX系システムは他に3種類のパーミッション(またはモード)を持つ。これらの特殊なパーミッションはクラスに寄らず、そのファイルやディレクトリ全体に適用される。

  • set user IDsetuid、SUIDパーミッション:このパーミッションが設定されたファイルを実行すると、生成されるプロセスの実効ユーザーIDはそのファイルのユーザークラスのものとなる。
  • set group IDsetgid、SGIDパーミッション:このパーミッションが設定されたファイルを実行すると、生成されるプロセスの実効グループIDはそのファイルのグループクラスのものとなる。ディレクトリの場合、その配下に作られるファイルのグループはディレクトリのグループを継承する(デフォルトでは実効ユーザーの一次グループが設定される)。
  • Sticky パーミッション:実行ファイルでは、生成されたプロセスのメモリ上のイメージをプロセス終了後も保持される(これは古いOSでの性能向上策であり、最近のOSでは必ずしもイメージを保持しているとは限らない)。ディレクトリに設定すると、配下のファイル群の改名や削除が(そのファイルの)所有者以外ではできなくなる。所有者以外のユーザーはファイルに書き足す(あるいは他のファイルを連結する)ことしかできない。

これらのパーミッションはそれぞれ1ビットで表されることから、「setuidビット」、「setgidビット」、「スティッキービット」とも呼ばれる。

[編集] パーミッションの表記法

[編集] 記号表記(シンボリックモード)

UNIXのパーミッション方式を表示する方法は様々である。最も一般的な形式が記号表記(symbolic notation)である。この形式ではパーミッションを10文字の文字列で表示する。

先頭の文字
- 通常ファイル
d ディレクトリ
l シンボリックリンク
クラス毎の3文字グループ
1番目 所有者のパーミッション
2番目 グループのパーミッション
3番目 その他のユーザーのパーミッション
その3文字の内容
1文字目 r: リード可、-: リード不可
2文字目 w: ライト可、-: ライト不可
3文字目 x: 実行可、-: 実行不可

先頭の一文字はファイルの種別を表す:

  • '-' は一般のファイル
  • 'd'ディレクトリ
  • 'b' はブロックデバイスのスペシャルファイル
  • 'c' はキャラクターデバイスのスペシャルファイル
  • 'l'シンボリックリンク
  • 'p' は名前付きパイプ
  • 's' はUNIXドメインのソケット

各クラスのパーミッションは3文字で表示される。1番目の3文字でユーザークラスを表す。2番目でグループクラスを表す。3番目でその他クラスを表す。

その3文字は順にリード、ライト、実行パーミッションをそれぞれ表す。

  • 'r' ならばリード可で、'-' ならばリード不可。
  • 'w' ならばライト可で、'-' ならばライト不可。
  • 'x' ならば実行可で、'-' ならば実行不可。

記号表記の実例を以下に示す。

  1. "-rwxr-xr-x" 通常ファイルで、所有者は全操作可、それ以外のユーザーはリードと実行のみ可能。
  2. "crw-rw-r--" キャラクタースペシャルファイルで、所有者およびグループはリード/ライト可能、それ以外のユーザーはリードのみ可能。
  3. "dr-x------" ディレクトリで、所有者がリードとそこへの移動が可能、それ以外のユーザーはなにもできない。

[編集] 記号表記とその他のパーミッション

その他のパーミッションが加わると、記号表記は若干複雑になる。非特権ユーザーはこれらを使うことがあまりないので、これらの表記法を知っておく必要性はあまりない。

パーミッション クラス 実行可1 実行不可2
Set User ID (setuid) ユーザー s S
Set Group ID (setgid) グループ s S
Sticky その他 t T
  1. 実行可であることも同時に示す文字
  2. 実行不可であることも同時に示す文字

以下に例を示す。

  • "-rwsr-Sr-x" はユーザークラスがリード/ライト/実行可能で setuid パーミッションも付与されている。グループクラスはリード可で setgid パーミッションが付与されている。その他クラスはリード/実行可能である。

[編集] 八進表記(絶対モード)

UNIXのパーミッションの別の表記法として「八進表記」がある。八進表記は3桁か4桁の八進数値である。

3桁の八進表記では、各桁がユーザークラス、グループクラス、その他クラスに対応している。

これら3桁の値はパーミッションをビットとしてそれを集めたものである。つまり、ある値を加算することで特定のパーミッションが付与されていることを表す。

  • 4 を加算するとリード可となる
  • 2 を加算するとライト可となる
  • 1 を加算すると実行可となる

これにより、不明確な組合せはなく、常にあるパーミッションの組合せを表示することができる。

以下は前述の記号表記での例に八進表記を対応させたものである:

  • "-rwxr-xr-x" は3桁八進表記では 755 となる。
  • "-rw-rw-r--" は3桁八進表記では 664 となる。
  • "-r-x------" は3桁八進表記では 500 となる。

[編集] 八進表記とその他のパーミッション

4桁の八進表記もある。この場合、前述の3桁表記に加えて、先頭に1桁加えて追加のパーミッションを表示する。システムによっては最初の1桁を省略して表示することができず、常に4桁表示となる(追加パーミッションが設定されていなければ、先頭の1桁はゼロとなる)。

この最初の桁は以下のビットの合計である:

  • setuidビットは4を合計に加算する。
  • setgidビットは2を合計に加算する。
  • stickyビットは1を合計に加算する。

記号表記の例 "-rwsr-Sr-x"6745 と表示される。また、3桁表示の例は4桁表示では、それぞれ 075506640500 となる。

[編集] 関連項目

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com