Unix-system-calls-lchown
[top]#
[[File:]]
[[File:]] |
|Web |This Site
- 初心者向けのUnix *
- Unix-ホーム
- Unix-はじめに
- Unix-ファイル管理
- Unix-ディレクトリ
- Unix-ファイル権限
- Unix-環境
- Unix-基本ユーティリティ
- Unix-パイプとフィルタ
- Unix-プロセス
- Unix-コミュニケーション
- Unix-The Vi Editor
- Unix Shellプログラミング*
- Unix-シェルとは?
- Unix-変数の使用
- Unix-特殊変数
- Unix-配列の使用
- Unix-基本的な演算子
- Unix-意思決定
- Unix-シェルループ
- Unix-ループ制御
- Unix-シェル置換
- Unix-引用メカニズム
- Unix-IOリダイレクト
- UNIX-シェル関数
- Unix-マンページヘルプ
- 高度なUnix *
- Unix-正規表現
- Unix-ファイルシステムの基本
- Unix-ユーザー管理
- Unix-システムパフォーマンス
- Unix-システムログ
- Unix-信号とトラップ
- Unixの便利なリファレンス*
- Unix-便利なコマンド
- Unix-クイックガイド
- Unix-組み込み関数
- Unix-システムコール
- Unix-コマンドリスト
- Unixの役立つリソース*
- Unix役立つリソース
選択した読書
Copyright©2014 by finddevguides
Home | References | Discussion Forums | About TP |
chown()-Unix、Linuxシステムコール
[[File:]] image :http://www.finddevguides.com/images/next.gif [next] image:http://www.finddevguides.com/add- this.gif [AddThisソーシャルブックマークボタン]
広告
NAME
chown、fchown、lchown-ファイルの所有権を変更する
概要
- #include <sys/types.h> * *#include <unistd.h> *
- int chown(const char * path 、uid_t owner 、gid_t * *group ); *int fchown(int fd、uid_t * owner 、gid_t * *group ); * *int lchown(const char * path 、uid_t owner 、gid_t * *group *);
説明
これらのシステムコールは、_path_または_fd_で指定されたファイルの所有者とグループを変更します。 特権プロセス(Linux: CAP_CHOWN 機能を持つプロセス)のみがファイルの所有者を変更できます。 ファイルの所有者は、ファイルのグループを、その所有者がメンバーである任意のグループに変更できます。 特権プロセス(Linux:with CAP_CHOWN )は、グループを任意に変更できます。
_owner_または_group_が-1として指定されている場合、そのIDは変更されません。
実行可能ファイルの所有者またはグループが非スーパーユーザーによって変更されると、S_ISUIDおよびS_ISGIDモードビットがクリアされます。 POSIXは、rootが chown ()を実行するときにこれが発生するかどうかを指定しません。 Linuxの動作はカーネルバージョンに依存します。 非グループ実行可能ファイル(クリアS_IXGRPビット)の場合、S_ISGIDビットは強制ロックを示し、 chown ()によってクリアされません。
返り値
成功すると、ゼロが返されます。 エラーの場合、-1が返され、_errno_が適切に設定されます。
エラー
ファイルシステムによっては、他のエラーが返される場合があります。 chown ()のより一般的なエラーを以下にリストします。
Tag
説明
パスプレフィックスのコンポーネントに対する検索許可が拒否されました。 ( path_resolution (2)も参照してください。)
_path_は、アクセス可能なアドレス空間の外側を指します。
_path_の解決中に検出されたシンボリックリンクが多すぎます。
_path_が長すぎます。
ファイルが存在しません。
カーネルメモリが不足していました。
パスプレフィックスのコンポーネントはディレクトリではありません。
呼び出し元のプロセスには、所有者やグループを変更するために必要な許可(上記を参照)がありませんでした。
指定されたファイルは読み取り専用ファイルシステムにあります。
記述子が無効です。
iノードの変更中に低レベルのI/Oエラーが発生しました。
上記を参照。
上記を参照。
上記を参照。
ノート
2.1.81(および2.1.46とは異なる)より前のバージョンのLinuxでは、 chown ()はシンボリックリンクをたどりませんでした。 Linux 2.1.81以降、 chown ()はシンボリックリンクを追跡し、シンボリックリンクを追跡しない新しいシステムコール lchown ()があります。 Linux 2.1.86以降、この新しい呼び出し(古い chown ()と同じセマンティクスを持つ)は同じsyscall番号を取得し、 chown ()は新しく導入された番号を取得しました。
準拠
4.4BSD、SVr4、POSIX.1-2001。
4.4BSDバージョンは、スーパーユーザーのみが使用できます(つまり、一般ユーザーはファイルを配布できません)。
制限事項
関連項目
[[File:]] image :http://www.finddevguides.com/images/next.gif [next] [[File:]]
広告
Advertisements |