<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN"
  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">


<refentry id="gfarm-attr.5">

<refentryinfo><date>31 Mar 2014</date></refentryinfo>

<refmeta>
<refentrytitle>gfarm_attr</refentrytitle>
<manvolnum>5</manvolnum>
<refmiscinfo>Gfarm_attr</refmiscinfo>
</refmeta>

<refnamediv id="name">
<refname>gfarm_attr</refname>
<refpurpose>Gfarm拡張属性</refpurpose>
</refnamediv>

<!-- body begins here -->

<refsect1 id="description"><title>DESCRIPTION</title>

<para>
Gfarmの各ファイルやディレクトリは，拡張属性を複数持つことができます．拡
張属性は，名前に対する値のペアです．
</para>

</refsect1>

<refsect1 id="xattrnamespace">
<title>拡張属性の名前空間</title>

<para>
"gfarm."と"gfarm_root."で始まる名前の拡張属性はGfarmが特別に扱いま
す．"user."で始まる名前の拡張属性はユーザが自由に値を格納できます．
XML拡張属性は名前も自由に指定してXMLを格納できます．
</para>

<para>
誰でも"gfarm.*"の拡張属性を取得できます．所有者，またはgfarmrootグルー
プに所属するユーザだけが"gfarm.*"の拡張属性を変更できます．
</para>

<para>
gfarmrootグループに所属するユーザ、または"gfarm_root.user"に記述された
ユーザ、または"gfarm_root.group"に記述されたグループが、"gfarm_root.*"
拡張属性を取得と変更できます。
</para>

<para>
ファイルまたはディレクトリのパーミッションによって"user.*"拡張属性を取
得と変更できます．
</para>

<para>
XML拡張属性は，ファイルまたはディレクトリのパーミッションによって読み書
きできます．
</para>

<para>
シンボリックリンクは拡張属性を持つことができません．
</para>

</refsect1>

<refsect1 id="gfarm-xattr">
<title>Gfarm 拡張属性</title>
<para>
以下はGfarmのシステムが使用する拡張属性名です．
</para>
<variablelist>

<varlistentry>
<term><parameter moreinfo="none">gfarm.ncopy</parameter></term>
<listitem>
<para>
自動ファイル複製作成数を格納します．
詳細は gfncopy コマンドのマニュアルを参照してください．
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><parameter moreinfo="none">gfarm.replicainfo</parameter></term>
<listitem>
<para>
ホストグループごとの自動ファイル複製作成数を格納します．
詳細は gfncopy コマンドのマニュアルを参照してください．
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><parameter moreinfo="none">gfarm.acl_access</parameter></term>
<listitem>
<para>
ACL(アクセスコントロールリスト)を格納します．
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><parameter moreinfo="none">gfarm.acl_default</parameter></term>
<listitem>
<para>
デフォルトACLを格納します．ディレクトリだけがこの拡張属性を利用します．
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><parameter moreinfo="none">gfarm_root.user</parameter></term>
<listitem>
<para>
このファイルやディレクトリに特権を与えるユーザ名のリストを格納します．
名前は改行 (\n) で区切られます．この拡張属性がディレクトリに付いている
場合，新規作成された子エントリにもこの拡張属性がコピーされます．
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><parameter moreinfo="none">gfarm_root.group</parameter></term>
<listitem>
<para>
このファイルやディレクトリに特権を与えるグループ名のリストを格納しま
す．名前は改行 (\n) で区切られます．この拡張属性がディレクトリに付いて
いる場合，新規作成された子エントリにもこの拡張属性がコピーされます．
</para>
</listitem>
</varlistentry>

</variablelist>
</refsect1>

<refsect1 id="security">
<title>SECURITY NOTES</title>
<para>
任意のディレクトリやファイルの gfarm_root.{user,group} 拡張属性に，信頼
していないユーザを登録している場合，-o suid,allow_other オプションを指
定して root 権限でマウントしている gfarm2fs には (-o ro オプションまた
は -o default_permissions オプションを付けていたとしても) セキュリティ・
ホールがあります．このため，gfarm2fs の -o suid,allow_other オプション
と gfarm_root.{user,group} 拡張属性の両方を同時に利用すべきではありませ
ん．
</para>
</refsect1>

<refsect1 id="see-also"><title>SEE ALSO</title>
<para>
  <citerefentry><refentrytitle>gfxattr</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
  <citerefentry><refentrytitle>gfgetfacl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
  <citerefentry><refentrytitle>gfsetfacl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
  <citerefentry><refentrytitle>gfncopy</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>
