削除された内容 追加された内容
Hsz (会話 | 投稿記録)
Hsz (会話 | 投稿記録)
→‎Unix系: chmodコマンドとアクセス権
12行目:
* H - 隠しファイル属性
 
==== Unix[[UNIX]]・[[BSD]]・[[Linux]]・[[Solaris]]等 ====
: Unix[[UNIX]]OS、[[BSD]]・[[Linux]]・[[Solaris]]等OSの[[ファイル]]/[[ディレクトリ]]管理ではこの'''属性'''は「所有者」、「グループ」、「全てのユーザ」に対して「読込可」「書込可」「実行可」などの[[アクセス権]]を[[ファイル]]や[[ディレクトリ]]などに[[chmod]][[コマンド]]で設定することができる。
属性の各アクセス権は以下のようになる:
{|class="wikitable"
|-
!属性
!英語名
!8進数値表現
!説明
|-
!d
!'''d'''irectory
!N/A
!ディレクトリであることを意味する。
|-
!r
!'''r'''eadable
!4
!ファイルディレクトリに読込許可を与えている。
|-
!w
!'''w'''ritable
!2
!ファイル書込、削除許可を与えている。ディレクトリ内のファイルに書込許可を与えている。
|-
!x
!e'''x'''ecutable
!1
!ファイル実行許可を与えている。ディレクトリにファイルを追加、削除許可を与えている。
|}
この属性における「8進数」表現を組み合わせて具体的なアクセス権を決定することができる。読込(4)と書込権限(2)を与えたいときは、 4 + 2 = 6 により、6を使って表現する。たとえば、すべてのユーザに対してあるファイルに対して読込(4)と書込(2)権限を与えたい場合は、以下のようにする。
chmod 666 file.txt
ここで666となっているのは、一番左の6が「所有者」を意味し、中央が「グループ」を意味し、一番右が「その他(全アカウントユーザ)」を意味している。つまり、すべてのユーザに対してfile.txtに対するファイル読み書き許可を与えているということである。この命令は、少なくとも以下の命令と同じ権限を与える。
chmod ugo+rw file.txt
rwは上記でしめした読み取り(r)と書き込み(w)を意味する。ugoはuが「所有者(user)」、gが「グループ(group)」、oが「その他(other)」を意味する。+(プラス記号)は、その権限を与えると言う意味である。逆に権限を剥奪したい場合は、-(マイナス記号)を使う。
 
ファイルが情報として持っている「所有者(u)」「グループ(g)」「その他(o)」のアクセス権情報は以下のようになる:
{|class="wikitable"
|-
!属性
!英語名
!説明
|-
!u
!'''u'''ser
!そのファイルの所有者にアクセス権を与える。
|-
!g
!'''g'''roup
!そのファイルの所有グループにアクセス権を与える。
|-
!o
!'''o'''ther
!すべてのユーザに、そのファイルに対するアクセス権を与える。
|}
 
chmod 705 file.sh
この例では、所有者が7なので7=4+2+1により、所有者はこのファイルに対して読込(4)、書き込み(2)、実行(1)権限が与えられている。グループは0なので、このファイルが属しているグループからはこのファイルには一切アクセス許可が与えられていない。「その他」は5=4+1なので、全ユーザに対して、このファイルを読み込み(4)と実行(1)許可が与えられている。ただし、書き込み(2)許可は与えられない。各数字の意味をまとめると、以下のようになる。
 
{|class="wikitable"
|-
!属性
!8進数表現
!説明
|-
!0
!---
!権限をすべて剥奪されている。
|-
!1
!--x
!実行権限のみ。
|-
!2
!-w-
!書き込み権限のみ
|-
!3
!-wx
!書き込み・実行権限が与えられている。
|-
!4
!r--
!読み込み権限のみ
|-
!5
!r-x
!読み込み・実行権限が与えられている。
|-
!6
!rw-
!読み込み・書き込みが与えられている。
|-
!7
!rwx
!読み込み・書き込み・実行権限が与えられている。
|-
|}
 
==== XML ====
: [[XML]]では、タグで表現される[[要素]]、例えば<element>という要素があるときこの<element>タグを<element attribute="name">と書いた場合、attributeのことを'''属性'''と呼ぶ。attributeは'''属性'''名であり、nameはその'''属性'''の値である。XMLでの'''属性'''は、必ず要素にのみ記述することができる。