.\" Updated 2008-08-09, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.05
.\"
.TH CHOWN 2 2010-09-26 "Linux" "Linux Programmer's Manual"
-.SH ̾Á°
-chown, fchown, lchown \- ¥Õ¥¡¥¤¥ë¤Î½êͼԤòÊѹ¹¤¹¤ë
-.SH ½ñ¼°
+.SH 名前
+chown, fchown, lchown \- ファイルの所有者を変更する
+.SH 書式
.B #include <unistd.h>
.sp
.BI "int chown(const char *" path ", uid_t " owner ", gid_t " group );
.BI "int lchown(const char *" path ", uid_t " owner ", gid_t " group );
.sp
.in -4n
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
+glibc 向けの機能検査マクロの要件
.RB ( feature_test_macros (7)
-»²¾È):
+参照):
.in
.sp
.BR fchown (),
_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 ||
_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
.br
-|| /* glibc 2.12 °Ê¹ß: */ _POSIX_C_SOURCE\ >=\ 200809L
+|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\ >=\ 200809L
.RE
.ad
.PD
-.SH ÀâÌÀ
-¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢¥Õ¥¡¥¤¥ë¤Î½êÍ¼Ô (owner) ¤È¥°¥ë¡¼¥×¤òÊѹ¹¤¹¤ë¡£
-¥·¥¹¥Æ¥à¥³¡¼¥ë´Ö¤Î°ã¤¤¤Ï¡¢¥Õ¥¡¥¤¥ë¤Î»ØÄê¤Î»ÅÊý¤À¤±¤Ç¤¢¤ë¡£
+.SH 説明
+これらのシステムコールは、ファイルの所有者 (owner) とグループを変更する。
+システムコール間の違いは、ファイルの指定の仕方だけである。
.IP * 2
.BR chown ()
-¤Ï
+は
.I path
-¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î½ê͸¢¤òÊѹ¹¤¹¤ë¡£
+で指定されたファイルの所有権を変更する。
.I path
-¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Î¾ì¹ç¤Ï¡¢¥ê¥ó¥¯¤ÎŸ³«¤¬¹Ô¤ï¤ì¤ë¡£
+がシンボリック・リンクの場合は、リンクの展開が行われる。
.IP *
.BR fchown ()
-¤Ï¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿
+ã\81¯ã\82ªã\83¼ã\83\97ã\83³ã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿
.I fd
-¤Ë¤è¤ê»²¾È¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î½ê͸¢¤òÊѹ¹¤¹¤ë¡£
+により参照されるファイルの所有権を変更する。
.IP *
.BR lchown ()
-¤Ï
+は
.BR chown ()
-¤ÈƱ¤¸¤À¤¬¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òŸ³«¤·¤Ê¤¤ÅÀ¤¬°Û¤Ê¤ë¡£
+と同じだが、シンボリック・リンクを展開しない点が異なる。
.PP
-Æø¢¤ò»ý¤Ä¥×¥í¥»¥¹ (Linux ¤Ç¤Ï
+特権を持つプロセス (Linux では
.B CAP_CHOWN
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (capability) ¤ò»ý¤Ä¥×¥í¥»¥¹) ¤À¤±¤¬
-¥Õ¥¡¥¤¥ë¤Î½êͼԤòÊѹ¹¤Ç¤¤ë¡£
-¥Õ¥¡¥¤¥ë¤Î½êͼԤϡ¢¤½¤Î½êͼԤ¬Â°¤·¤Æ¤¤¤ë¥°¥ë¡¼¥×¤Î¤¤¤º¤ì¤«¤Ë
-¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
-Æø¢ (Linux ¤Ç¤Ï
+ケーパビリティ (capability) を持つプロセス) だけが
+ファイルの所有者を変更できる。
+ファイルの所有者は、その所有者が属しているグループのいずれかに
+ファイルのグループを変更することができる。
+特権 (Linux では
.BR CAP_CHOWN )
-¤ò»ý¤Ä¥×¥í¥»¥¹¤Ï¡¢Ç¤°Õ¤Î¥°¥ë¡¼¥×¤ËÊѹ¹¤Ç¤¤ë¡£
+を持つプロセスは、任意のグループに変更できる。
.I owner
-¤Þ¤¿¤Ï
+または
.I group
-¤Ë \-1 ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¤½¤ì¤é¤Î ID ¤ÏÊѹ¹¤µ¤ì¤Ê¤¤¡£
+に \-1 が指定された場合、それらの ID は変更されない。
-ÈóÆø¢¥æ¡¼¥¶¡¼¤Ë¤è¤ê¼Â¹Ô¥Õ¥¡¥¤¥ë¤Î½êͼԤޤ¿¤Ï¥°¥ë¡¼¥×¤¬
-Êѹ¹¤µ¤ì¤¿¾ì¹ç¤Ï
+非特権ユーザーにより実行ファイルの所有者またはグループが
+変更された場合は
.B S_ISUID
-¤È
+と
.B ISGID
-¥â¡¼¥É¥Ó¥Ã¥È¤Ï¥¯¥ê¥¢¤µ¤ì¤ë¡£
-POSIX ¤Ï¤³¤ÎÆ°ºî¤ä¥ë¡¼¥È¤¬
+モードビットはクリアされる。
+POSIX はこの動作やルートが
.BR chown ()
-¤ò¹Ô¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ä¤¤¤Æ¤ÏÆä˻ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡£
-Linux ¤Ë¤ª¤±¤ëÆ°ºî¤Ï¥«¡¼¥Í¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë°Í¸¤¹¤ë¡£
-.\" Linux 2.0 ¥«¡¼¥Í¥ë¤Ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¤Ç¤ÎÆ°ºî¤Ï
-.\" ¾¤Î¥æ¡¼¥¶¡¼¤Î¾ì¹ç¤ÈƱ¤¸¤Ç¤¢¤Ã¤¿¡£
-.\" 2.2 ¤Ç¤Ï¡¢2.2.12 ¤Þ¤Ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¤Î¾ì¹ç¤Ë¤Ï
-.\" ¤³¤ì¤é¤Î¥Ó¥Ã¥È¤Ï¥¯¥ê¥¢¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿¡£
-.\" 2.2.13 °Ê¹ß¤Ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¤Ç¤ÎÆ°ºî¤Ï
-.\" ºÆ¤Ó¾¤Î¥æ¡¼¥¶¡¼¤Î¾ì¹ç¤ÈƱ¤¸¤Ë¤Ê¤Ã¤¿¡£
-È󥰥롼¥×¼Â¹Ô¥Õ¥¡¥¤¥ë
+を行なった場合については特に指定されていない。
+Linux における動作はカーネルのバージョンに依存する。
+.\" Linux 2.0 カーネルでは、スーパー・ユーザーでの動作は
+.\" 他のユーザーの場合と同じであった。
+.\" 2.2 では、2.2.12 までは、スーパー・ユーザーの場合には
+.\" これらのビットはクリアされなくなった。
+.\" 2.2.13 以降では、スーパー・ユーザーでの動作は
+.\" 再び他のユーザーの場合と同じになった。
+非グループ実行ファイル
.RB ( S_IXGRP
-¥Ó¥Ã¥È¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥ë) ¤Î¾ì¹ç¤Ë¤Ï
+ビットが設定されていないファイル) の場合には
.B S_ISGID
-¥Ó¥Ã¥È¤Ï¶¯À©¥í¥Ã¥¯ (mandatory locking) ¤ò°ÕÌ£¤·¤Æ¤¤¤ë¡£
-¤½¤·¤Æ¤½¤ì¤Ï
+ビットは強制ロック (mandatory locking) を意味している。
+そしてそれは
.BR chown ()
-¤Ç¤Ï¥¯¥ê¥¢¤Ç¤¤Ê¤¤¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤¹¤ë¤È¡¢0 ¤òÊÖ¤¹¡£
-¼ºÇÔ¤¹¤ë¤È¡¢\-1 ¤òÊÖ¤·¡¢
+ではクリアできない。
+.SH 返り値
+成功すると、0 を返す。
+失敗すると、\-1 を返し、
.I errno
-¤ËŬÀÚ¤ÊÃͤòÀßÄꤹ¤ë¡£
-.SH ¥¨¥é¡¼
-¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¾¤Î¥¨¥é¡¼¤¬ÊÖ¤µ¤ì¤ë»ö¤¬¤¢¤ë¡£
+に適切な値を設定する。
+.SH ã\82¨ã\83©ã\83¼
+ファイルシステムによっては他のエラーが返される事がある。
.B chmod
-¤Ç°ìÈÌŪ¤Ê¥¨¥é¡¼¤ò°Ê²¼¤Ëµó¤²¤ë¡£
+で一般的なエラーを以下に挙げる。
.TP
.B EACCES
.I path
-¤Î¹½À®Í×ÁǤ˸¡º÷µö²Ä (search permission) ¤¬¤Ê¤¤
+の構成要素に検索許可 (search permission) がない
.RB ( path_resolution (7)
-¤â»²¾È)¡£
+も参照)。
.TP
.B EFAULT
.I path
-¤¬³ä¤êÅö¤Æ¤é¤ì¤¿¥¢¥É¥ì¥¹¶õ´Ö³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
+が割り当てられたアドレス空間外を指している。
.TP
.B ELOOP
.I path
-¤ò²ò·è¤¹¤ëºÝ¤ËÁø¶ø¤·¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤¬Â¿²á¤®¤ë¡£
+を解決する際に遭遇したシンボリック・リンクが多過ぎる。
.TP
.B ENAMETOOLONG
.I path
-¤¬Ä¹²á¤®¤ë¡£
+が長過ぎる。
.TP
.B ENOENT
-¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¡£
+ファイルが存在しない。
.TP
.B ENOMEM
-¥«¡¼¥Í¥ë¤Ë½½Ê¬¤Ê¥á¥â¥ê¤¬¤Ê¤¤¡£
+カーネルに十分なメモリがない。
.TP
.B ENOTDIR
.I path
-¤Î¹½À®Í×ÁǤ¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£
+の構成要素がディレクトリでない。
.TP
.B EPERM
-¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Ë½êͼԤޤ¿¤Ï¥°¥ë¡¼¥× (¤â¤·¤¯¤Ï¤½¤ÎξÊý) ¤òÊѹ¹¤¹¤ë¤¿¤á¤Ë
-Í׵ᤵ¤ì¤ëµö²Ä (¾åµ¤ò»²¾È) ¤¬¤Ê¤¤¡£
+呼び出したプロセスに所有者またはグループ (もしくはその両方) を変更するために
+要求される許可 (上記を参照) がない。
.TP
.B EROFS
-»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤¬Æɤ߹þ¤ßÀìÍÑ (read-only) ¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¾å¤Ë¤¢¤ë¡£
+指定したファイルが読み込み専用 (read-only) のファイル・システム上にある。
.PP
.BR fchown ()
-¤Ç°ìÈÌŪ¤Ê¥¨¥é¡¼¤ò°Ê²¼¤Ëµó¤²¤ë:
+で一般的なエラーを以下に挙げる:
.TP
.B EBADF
-¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤¬Í¸ú¤Ç¤Ê¤¤¡£
+ディスクリプターが有効でない。
.TP
.B EIO
-i ¥Î¡¼¥É (inode) ¤òÊѹ¹¤¹¤ëºÝ¤ËÄã¥ì¥Ù¥ë I/O ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
+i ノード (inode) を変更する際に低レベル I/O エラーが発生した。
.TP
.B ENOENT
-¾åµ¤ò»²¾È¡£
+上記を参照。
.TP
.B EPERM
-¾åµ¤ò»²¾È¡£
+上記を参照。
.TP
.B EROFS
-¾åµ¤ò»²¾È¡£
-.SH ½àµò
+上記を参照。
+.SH 準拠
4.4BSD, SVr4, POSIX.1-2001.
-4.4BSD ÈǤǤϥ¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¤Î¤ß¤¬»ÈÍѤǤ¤ë
-(¤Ä¤Þ¤ê¡¢ÉáÄ̤Υ桼¥¶¡¼¤Ï¥Õ¥¡¥¤¥ë¤ò¼êÊü¤¹¤³¤È¤Ï¤Ç¤¤Ê¤¤)¡£
+4.4BSD 版ではスーパー・ユーザーのみが使用できる
+(つまり、普通のユーザーはファイルを手放すことはできない)。
.\" chown():
-.\" SVr4 ¤Ë¤Ï EINVAL, EINTR, ENOLINK, EMULTIHOP ¤òÊÖ¤¹¤ÈµºÜ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢
-.\" ENOMEM ¤Ï¤Ê¤¤¡£
-.\" POSIX.1 ¤Ë¤Ï ENOMEM, ELOOP ¤Ë¤Ä¤¤¤ÆµºÜ¤Ï¤Ê¤¤¡£
+.\" SVr4 には EINVAL, EINTR, ENOLINK, EMULTIHOP を返すと記載されているが、
+.\" ENOMEM はない。
+.\" POSIX.1 には ENOMEM, ELOOP について記載はない。
.\" fchown():
-.\" SVr4 ¤Ë¤Ï¾¤Ë EINVAL, EIO, EINTR, ENOLINK ¥¨¥é¡¼¾õÂ֤ˤĤ¤¤Æ¤ÎµºÜ¤¬¤¢¤ë¡£
-.SH Ãí°Õ
+.\" SVr4 には他に EINVAL, EIO, EINTR, ENOLINK エラー状態についての記載がある。
+.SH 注意
.RB ( open (2)
-¤ä
+や
.BR mkdir (2)
-¤Ê¤É¤Ë¤è¤ê) ¿·¤·¤¤¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤ë¤È¤¡¢
-¤½¤Î½êͼԤϸƤӽФ·¤¿¥×¥í¥»¥¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¡¦¥æ¡¼¥¶ ID ¤È
-Ʊ¤¸¤ËÀßÄꤵ¤ì¤ë¡£
-¤½¤Î¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤Ï¤¤¤¯¤Ä¤«¤ÎÍ×°ø¤Ë¤è¤ê·èÄꤵ¤ì¤ë¡£
-¤½¤ÎÍ×°ø¤È¤·¤Æ¤Ï¡¢
-¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¼ïÎà¡¢¤½¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Þ¥¦¥ó¥È»þ¤Ë
-»ÈÍѤµ¤ì¤¿¥ª¥×¥·¥ç¥ó¡¢¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ç set-group-ID µö²Ä¥Ó¥Ã¥È¤¬
-͸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤É¤¦¤«¡¢¤¬¤¢¤ë¡£
-¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬
+などにより) 新しいファイルが作成されるとき、
+その所有者は呼び出したプロセスのファイルシステム・ユーザ ID と
+同じに設定される。
+そのファイルのグループはいくつかの要因により決定される。
+その要因としては、
+ファイルシステムの種類、そのファイルシステムのマウント時に
+使用されたオプション、親ディレクトリで set-group-ID 許可ビットが
+有効になっているどうか、がある。
+ファイルシステムが
.BR mount (8)
-¥ª¥×¥·¥ç¥ó¤Î
+オプションの
.I "\-o\ grpid"
.RI ( "\-o\ bsdgroups"
-¤âƱµÁ¸ì) ¤È
+も同義語) と
.I "\-o\ nogrpid"
.RI ( "\-o sysvgroups"
-¤âƱµÁ¸ì) ¤ËÂбþ¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥ë¡¼¥ë¤Ï°Ê²¼¤ÎÄ̤ê¤È¤Ê¤ë¡£
+も同義語) に対応している場合、ルールは以下の通りとなる。
.IP * 2
-¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬
+ファイルシステムが
.I "\-o\ grpid"
-ÉÕ¤¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤Ï
-¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥°¥ë¡¼¥×¤ÈƱ¤¸¤Ë¤Ê¤ë¡£
+付きでマウントされている場合、新しいファイルのグループは
+親ディレクトリのグループと同じになる。
.IP *
-¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬
+ファイルシステムが
.I "\-o\ nogrpid"
-ÉÕ¤¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤ª¤ê¡¢¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï set-group-ID ¥Ó¥Ã¥È¤¬
-̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤Ï
-¥×¥í¥»¥¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à GID ¤ÈƱ¤¸¤Ë¤Ê¤ë¡£
+付きでマウントされており、親ディレクトリでは set-group-ID ビットが
+無効になっている場合、新しいファイルのグループは
+プロセスのファイルシステム GID と同じになる。
.IP *
-¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬
+ファイルシステムが
.I "\-o\ nogrpid"
-ÉÕ¤¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤ª¤ê¡¢¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï set-group-ID ¥Ó¥Ã¥È¤¬
-͸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤Ï
-¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥°¥ë¡¼¥×¤ÈƱ¤¸¤Ë¤Ê¤ë¡£
+付きでマウントされており、親ディレクトリでは set-group-ID ビットが
+有効になっている場合、新しいファイルのグループは
+親ディレクトリのグループと同じになる。
.PP
-Linux 2.6.25 ¤Ç¤Ï¡¢¥Þ¥¦¥ó¥È¥ª¥×¥·¥ç¥ó
+Linux 2.6.25 では、マウントオプション
.I "\-o\ grpid"
-¤È
+と
.I "\-o\ nogrpid"
-¤ËÂбþ¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï
-ext2, ext3, ext4, XFS ¤Ç¤¢¤ë¡£
-¤³¤ì¤é¤Î¥Þ¥¦¥ó¥È¥ª¥×¥·¥ç¥ó¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
+に対応しているファイルシステムは
+ext2, ext3, ext4, XFS である。
+これらのマウントオプションに対応していないファイルシステムでは、
.I "\-o\ nogrpid"
-¤Ë´Ø¤¹¤ë¥ë¡¼¥ë¤¬Å¬ÍѤµ¤ì¤ë¡£
+に関するルールが適用される。
.PP
.BR chown ()
-Êý¼°¤Ï UID ¥Þ¥Ã¥Ô¥ó¥°¤ò»ÈÍѤ·¤¿
-NFS ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤ò¿¯³²¤¹¤ë¡£
-¤µ¤é¤Ë¥Õ¥¡¥¤¥ë¤ÎÆâÍƤ˥¢¥¯¥»¥¹¤¹¤ëÁ´¤Æ¤Î¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤ò¿¯³²¤¹¤ë¡£
-¤³¤ì¤Ï
+方式は UID マッピングを使用した
+NFS ファイル・システムを侵害する。
+さらにファイルの内容にアクセスする全てのシステム・コールを侵害する。
+これは
.BR chown ()
-¤¬´û¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë
-¥¢¥¯¥»¥¹¤ò¤¿¤À¤Á¤Ë¼è¤ê¾Ã¤¹¤³¤È¤Ë¤è¤ë¡£
-¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥¥ã¥Ã¥·¥å¤Ë¤è¤ê½ê͸¢¤¬Êѹ¹¤µ¤ì¤Æ
-¥æ¡¼¥¶¡¼¤Î¥¢¥¯¥»¥¹¤¬µö¤·¤¿»þÅÀ¤È¡¢¼ÂºÝ¤Ë¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ç¥æ¡¼¥¶¡¼¤Ë¤è¤Ã¤Æ
-¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ë»þÅÀ¤È¤Î´Ö¤Ë»þ´Öº¹¤¬¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
+が既にオープンされたファイルに対する
+アクセスをただちに取り消すことによる。
+クライアント側のキャッシュにより所有権が変更されて
+ユーザーのアクセスが許した時点と、実際に他のクライアントでユーザーによって
+ファイルにアクセスできる時点との間に時間差があるかもしれない。
-Linux ¤Î 2.1.81 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó (ÆÃ¤Ë 2.1.46 °ÊÁ°) ¤Ç¤Ï¡¢
+Linux の 2.1.81 より前のバージョン (特に 2.1.46 以前) では、
.BR chown ()
-¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òÄÉÀפ·¤Ê¤¤¡£
-Linux 2.1.81 °Ê¹ß¤Ç¤Ï
+はシンボリック・リンクを追跡しない。
+Linux 2.1.81 以降では
.BR chown ()
-¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òÄÉÀפ·¡¢¿·¤¿¤Ê¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë
+はシンボリック・リンクを追跡し、新たなシステム・コール
.BR lchown ()
-¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤òÄÉÀפ·¤Ê¤¤¡£
-Linux 2.1.86 °Ê¹ß¤Ç¤Ï¤³¤Î¿·¤·¤¤¥³¡¼¥ë (¸Å¤¤
+はシンボリック・リンクを追跡しない。
+Linux 2.1.86 以降ではこの新しいコール (古い
.BR chown ()
-¤ÈÁ´¤¯Æ±¤¸Æ°ºî¤ò¹Ô¤Ê¤¦) ¤ÏƱ¤¸¥·¥¹¥Æ¥à¥³¡¼¥ëÈÖ¹æ¤ò»ý¤Á
+と全く同じ動作を行なう) は同じシステムコール番号を持ち
.BR chown ()
-¤Ï¿·¤·¤¯Æ³Æþ¤µ¤ì¤¿ÈÖ¹æ¤ò»ý¤Ä¡£
-.SH Îã
+は新しく導入された番号を持つ。
+.SH 例
.PP
-°Ê²¼¤Î¥×¥í¥°¥é¥à¤Ï¡¢
-Æó¤ÄÌܤΥ³¥Þ¥ó¥É¥é¥¤¥ó°ú¤¿ô¤Ç»ØÄꤵ¤ì¤¿Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Î½êͼԤò¡¢
-°ì¤ÄÌܤΥ³¥Þ¥ó¥É¥é¥¤¥ó°ú¤¿ô¤Ç»ØÄꤵ¤ì¤¿ÃͤËÊѹ¹¤¹¤ë¡£
-¿·¤·¤¤½êͼԤϡ¢¿ô»ú¤Î¥æ¡¼¥¶ ID ¤«¥æ¡¼¥¶Ì¾¤Î¤¤¤º¤ì¤«¤Ç»ØÄê¤Ç¤¤ë
-(¥æ¡¼¥¶Ì¾¤Ç»ØÄꤷ¤¿¾ì¹ç¤Ë¤Ï¡¢
+以下のプログラムは、
+二つ目のコマンドライン引き数で指定された名前のファイルの所有者を、
+一つ目のコマンドライン引き数で指定された値に変更する。
+新しい所有者は、数字のユーザ ID かユーザ名のいずれかで指定できる
+(ユーザ名で指定した場合には、
.BR getpwnam (3)
-¤ò»È¤Ã¤Æ¥·¥¹¥Æ¥à¤Î¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤Î¸¡º÷¤¬¹Ô¤ï¤ì¡¢
-¥æ¡¼¥¶ ID ¤Ø¤ÎÊÑ´¹¤¬¹Ô¤ï¤ì¤ë)¡£
+を使ってシステムのパスワードファイルの検索が行われ、
+ユーザ ID への変換が行われる)。
.nf
#include <pwd.h>
exit(EXIT_SUCCESS);
}
.fi
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
.BR chmod (2),
.BR fchownat (2),
.BR flock (2),