OSDN Git Service

Update drafts for v3.79
[linuxjm/LDP_man-pages.git] / draft / man2 / chown.2
index 1c722e2..ed60fca 100644 (file)
@@ -51,7 +51,7 @@
 .\" Updated 2008-08-09, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.05
 .\" Updated 2012-04-30, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.TH CHOWN 2 2014\-03\-19 Linux "Linux Programmer's Manual"
+.TH CHOWN 2 2014\-08\-19 Linux "Linux Programmer's Manual"
 .SH 名前
 chown, fchown, lchown, fchownat \- ファイルの所有者を変更する
 .SH 書式
@@ -105,7 +105,7 @@ _ATFILE_SOURCE
 \fBchown\fP()  は \fIpathname\fP で指定されたファイルの所有権を変更する。 \fIpathname\fP
 がシンボリックリンクの場合は、リンクの展開が行われる。
 .IP *
-\fBfchown\fP()  はオープンされたファイルディスクリプタ \fIfd\fP により参照されるファイルの所有権を変更する。
+\fBfchown\fP()  はオープンされたファイルディスクリプタ \fIfd\fP により参照されるファイルの所有権を変更する。
 .IP *
 \fBlchown\fP()  は \fBchown\fP()  と同じだが、シンボリックリンクを展開しない点が異なる。
 .PP
@@ -175,7 +175,7 @@ POSIX はこの動作やルートが \fBchown\fP()  を行なった場合につ
 ファイルが存在しない。
 .TP 
 \fBENOMEM\fP
-カーネルに十分なメモリがない。
\82«ã\83¼ã\83\8dã\83«ã\81«å\8d\81å\88\86ã\81ªã\83¡ã\83¢ã\83ªã\83¼ã\81\8cã\81ªã\81\84ã\80\82
 .TP 
 \fBENOTDIR\fP
 パス名の構成要素がディレクトリではない。
@@ -206,13 +206,13 @@ i ノード (inode) を変更する際に低レベル I/O エラーが発生し
 \fBchown\fP() で発生するのと同じエラーが \fBfchownat\fP() でも起こる。 \fBfchownat\fP() では以下のエラーも発生する。
 .TP 
 \fBEBADF\fP
-\fIdirfd\fP が適切なファイルディスクリプタでない。
+\fIdirfd\fP ã\81\8cé\81©å\88\87ã\81ªã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81ªã\81\84ã\80\82
 .TP 
 \fBEINVAL\fP
 \fIflags\fP に無効なフラグが指定された。
 .TP 
 \fBENOTDIR\fP
-\fIpathname\fP が相対パスで、 \fIdirfd\fP がディレクトリ以外のファイルを参照しているファイルディスクリプタである。
+\fIpathname\fP ã\81\8cç\9b¸å¯¾ã\83\91ã\82¹ã\81§ã\80\81 \fIdirfd\fP ã\81\8cã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªä»¥å¤\96ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92å\8f\82ç\85§ã\81\97ã\81¦ã\81\84ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81\82ã\82\8bã\80\82
 .SH バージョン
 \fBfchownat\fP()  はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサポートはバージョン 2.4 以降の glibc
 で利用できる。
@@ -230,15 +230,9 @@ POSIX.1\-2008.
 
 \fBfchownat\fP(): POSIX.1\-2008.
 .SH 注意
-元々の Linux の \fBchown\fP(), \fBfchown\fP(), \fBlchown\fP() システムコールは、
-16 ビットのユーザ ID とグループ ID だけに対応していた。
-その後、 32 ビットの ID に対応した \fBchown32\fP(), \fBfchown32\fP(), \fBlchown32\fP()
-が Linux 2.4 で追加された。
-\fBchown\fP(), \fBfchown\fP(), and \fBlchown\fP() の glibc のラッパー関数は、
-カーネルのバージョンによる違いを吸収している。
-
+.SS 新しいファイルの所有権
 (\fBopen\fP(2)  や \fBmkdir\fP(2)  などにより) 新しいファイルが作成されるとき、
-その所有者は呼び出したプロセスのファイルシステムユーザ ID と 同じに設定される。 そのファイルのグループはいくつかの要因により決定される。
+その所有者は呼び出したプロセスのファイルシステムユーザ ID と 同じに設定される。 そのファイルのグループはいくつかの要因により決定される。
 その要因としては、 ファイルシステムの種類、そのファイルシステムのマウント時に 使用されたオプション、親ディレクトリで set\-group\-ID
 許可ビットが 有効になっているどうか、がある。 ファイルシステムが \fBmount\fP(8)  オプションの \fI\-o\ grpid\fP (\fI\-o\ bsdgroups\fP も同義語) と \fI\-o\ nogrpid\fP (\fI\-o sysvgroups\fP も同義語)
 に対応している場合、ルールは以下の通りとなる。
@@ -254,11 +248,22 @@ POSIX.1\-2008.
 Linux 2.6.25 では、マウントオプション \fI\-o\ grpid\fP と \fI\-o\ nogrpid\fP に対応しているファイルシステムは
 ext2, ext3, ext4, XFS である。 これらのマウントオプションに対応していないファイルシステムでは、 \fI\-o\ nogrpid\fP
 に関するルールが適用される。
-.PP
+.SS "glibc での注意"
+\fBfchownat\fP() が利用できない古いカーネルでは、 glibc ラッパー関数は \fBchown\fP() を使用するモードにフォールバックする。
+\fIpathname\fP が相対パスの場合、 glibc は \fIdirfd\fP 引き数に対応する \fI/proc/self/fd\fP
+のシンボリックリンクに基づいてパス名を構成する。
+.SS NFS
 \fBchown\fP()  方式は UID マッピングを使用した NFS ファイルシステムを侵害する。
 さらにファイルの内容にアクセスする全てのシステムコールを侵害する。 これは \fBchown\fP()  が既にオープンされたファイルに対する
 アクセスをただちに取り消すことによる。 クライアント側のキャッシュにより所有権が変更されて
 ユーザーのアクセスが許した時点と、実際に他のクライアントでユーザーによって ファイルにアクセスできる時点との間に時間差があるかもしれない。
+.SS 歴史的な詳細
+元々の Linux の \fBchown\fP(), \fBfchown\fP(), \fBlchown\fP() システムコールは、
+16 ビットのユーザー ID とグループ ID だけに対応していた。
+その後、 32 ビットの ID に対応した \fBchown32\fP(), \fBfchown32\fP(), \fBlchown32\fP()
+が Linux 2.4 で追加された。
+\fBchown\fP(), \fBfchown\fP(), and \fBlchown\fP() の glibc のラッパー関数は、
+カーネルのバージョンによる違いを吸収している。
 
 Linux の 2.1.81 より前のバージョン (特に 2.1.46 以前) では、 \fBchown\fP()  はシンボリックリンクを追跡しない。
 Linux 2.1.81 以降では \fBchown\fP()  はシンボリックリンクを追跡し、新たなシステムコール \fBlchown\fP()
@@ -267,8 +272,8 @@ Linux 2.1.81 以降では \fBchown\fP()  はシンボリックリンクを追跡
 .SH 例
 .PP
 以下のプログラムは、 二つ目のコマンドライン引き数で指定された名前のファイルの所有者を、 一つ目のコマンドライン引き数で指定された値に変更する。
-新しい所有者は、数字のユーザ ID かユーザ名のいずれかで指定できる (ユーザ名で指定した場合には、 \fBgetpwnam\fP(3)
-を使ってシステムのパスワードファイルの検索が行われ、 ユーザ ID への変換が行われる)。
+新しい所有者は、数字のユーザー ID かユーザー名のいずれかで指定できる (ユーザー名で指定した場合には、 \fBgetpwnam\fP(3)
+を使ってシステムのパスワードファイルの検索が行われ、 ユーザ ID への変換が行われる)。
 .SS プログラムのソース
 .nf
 #include <pwd.h>
@@ -311,6 +316,6 @@ main(int argc, char *argv[])
 .SH 関連項目
 \fBchmod\fP(2), \fBflock\fP(2), \fBpath_resolution\fP(7), \fBsymlink\fP(7)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.65 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。