| 日本−日本語 |
|
|
|
![]() |
HP-UX リファレンス: セクション 2 : システムコール > cchown(2)HP-UX 11i Version 2: September 2004 |
|
名称chown(), fchown(), lchown() ― ファイルの所有者とグループの変更 構文#include <unistd.h> int chown(const char *path, uid_t owner, gid_t group); int lchown(const char *path, uid_t owner, gid_t group); int fchown(int fildes, uid_t owner, gid_t group); 説明chown() システムコールは、ファイルのユーザーとグループの所有権を変更します。 path は、ファイルのパス名を示しています。 chown() は、 ファイルの所有者 ID とグループ ID を、 owner と group で指定された数値にそれぞれ設定します。 owner や group に UID_NO_CHANGE や GID_NO_CHANGE の値が指定されている場合、ファイルの所有者 ID やグループ ID はそれぞれ変更されません。 owner と group は、 UID_MAX より小さくなくてはいけないことに注意してください limits(5) を参照)。 ファイルの所有者、あるいは、適切な特権を持っている ユーザーと同じ実効ユーザー ID を持つプロセスだけが、ファイルの所有権を変更することができます。 特権グループがサポートされている場合、 ファイルの所有者が、 CHOWN が許されている特権グループのメンバーであり、 setprivgrp コマンド setprivgrp(1M) を参照) により設定されているときに限り、 所有権を変更することができます。 デフォルトでは、ユーザーは全員、 CHOWN 特権を持っています。 ファイルのグループ所有権は、現在のプロセスのアクセスリスト内の グループか、現在のプロセスの実グループか有効グループの ID に変更されます。 特権グループがサポートされていて、ユーザーが CHOWN 特権を持っている場合、ファイルをどのグループにも指定することができます。 スーパーユーザー以外のユーザーが通常のファイルに対して chown() を呼び出した場合、ファイルモードのセットユーザー ID ビットとセットグループ ID ビットはクリアされます。 他のタイプのファイルに対して chown() が呼び出された場合、これらのビットが保存されるかクリアされるかは、 インプリメンテーションに依存しています。 chown() で指定されているパスの最後の構成要素がシンボリックリンクになっているとき、 このリンクはたどられ、パス名変換は続けられます。 chown() は、リンク自体の所有者とグループを変更するのではなく、シンボリックリンクの リンク先の所有者とグループを変更します。 fchown() システムコールは、パス名ではなくファイル記述子で操作対象を指定することを除き、 chown() と同じように機能します。 fildes は、ファイル記述子です。 lchown() システムコールは、指定されたファイルがシンボリックリンクの場合を除き、 chown() と同じように、指定されたファイルの所有者 ID とグループ ID を設定します。この場合、 lchown() はシンボリックリンク ファイル自体の所有者とグループを変更します。 アクセス制御リスト - HFS ファイルシステムのみユーザーは、ファイルのアクセス制御リスト acl(5) を参照) を使うことによって、個々のユーザーやグループごとにアクセスを許可したり、 禁止したりすることができます。 chown() を HFS アクセス制御リスト (ACL) と組み合わせて使う場合、 新しい所有者やグループが、ファイルのアクセス制御リストの中に、 user.% や %.group に相当するオプションの ACL エントリーを持っていないと、 ファイルのアクセスパーミッション ビットは変更されません。 しかし、アクセス制御リストの中で user.% や %.group というオプションの ACL エントリーで新しい所有者やグループが指定されていると、 chown() は、ファイルのパーミッションビット (とアクセス制御リストの 3 つの基本エントリー) を、 そのエントリーが指定しているパーミッションに設定します。 アクセス制御リスト - JFS ファイルシステムのみユーザーは、ファイルのアクセス制御リスト acl(5) を参照) を使うことによって、 個々のユーザーやグループごとに ファイルへのアクセスを許可したり、禁止したりすることができます。 chown() を JFS アクセス制御リスト (ACL) と組み合わせて使う場合、 ファイルの新しい所有者やグループがファイルのアクセス制御リストの中に user:uid:perm や group:gid:perm に相当するオプションの ACL エントリーを持っていても、そのエントリーには効力がなく、 代わりにファイルの user::perm や group::perm エントリーが使われます。ただし、そのエントリーは ACL 内にそのまま残されます。 エラーchown() または lchown() が失敗した場合、次の値の 1 つが errno にセットされます。
fchown() が失敗した場合、次の値の 1 つが errno にセットされます。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||