chownは,与えられたそれぞれのfileのユーザと/またはグルー プの所有権を,new-ownerや,既存の参照ファイルのユーザとグループ に変更します.概要です.
chown [option]... {new-owner | --reference=ref_file} file...
new-ownerが使用された場合,新しい所有者と/またはグループを以下の ように指定します(空白は含みません).
[owner] [ [:] [group] ]
具体例です.
古いスクリプトでは,‘:’セパレータの場所に‘.’を使用している可 能性があります.POSIX 1003.1-2001 (see Standards conformance)では,それをサポートすることを要求していませんが,後方互 換性のため,GNU chownは曖昧な結果にならない限り ‘.’をサポートします.互換性のため,そして, owner‘.’groupで‘.’を含む名前のユーザを識別してしまうと 好ましくない結果になるので,新しいスクリプトでは‘.’の使用を避ける べきです.
警告:chownコマンドは,システムによってはセットユーザIDやセッ
トグループIDビットがクリアされているかもしれません.chownコ
マンドは,chownコマンドの制御下にないシステム依存のファイル
のモード変更する,基礎的なシステムのポリシーと機能に依存します.システ
ムによっては(例えばLinux),基礎的なシステムのchown
関数がクリア
しているので,chownコマンドのセットユーザIDやセットグループ
IDビットはクリアされてます.それ以外のシステム(例えばHP-UXとSolaris)で
は,スーパーユーザとして処理されるとき,chownコマンドはこれ
らのビットに影響しません.chownの利用が特権ユーザ以外に許可
されているシステムでは,これらのビットは常にシステムによってクリアされ
ています.そうでないとき,基礎的なシステムの動作を調査して下さい.
プログラムは以下のオプションも受け入れます.Common optionsも参照 してください.
root
が実行したとします.
find / -owner OLDUSER -print0 | xargs -0 chown NEWUSER
しかし,findが既存のファイルの所有者をテストしたときと, chownが実際に実行したときの間が非常に長い可能性があるので, それは危険です.ギャップを小さくするひとつの方法は,それぞれのファイル に対し見つかったときにchownを呼び出すことです.
find / -owner OLDUSER -exec chown NEWUSER {} \;
しかし,影響されるファイルが多い場合は,それは非常に遅くなります.この オプションを用いると,(ギャップを狭めたままで)完全ではありませんが,そ れは安全になります.
chown -R --from=OLDUSER NEWUSER /
lchown
システムコールに依存します.
lchown
システムコールが提供されていないシステムでは,コマンドラ
インで指定されるファイルがシンボリックリンクの時,chownは失
敗します.デフォルトで,再帰的な処理の間に発見されるシンボリックリンク
に対する診断結果は表示されませんが,それについては--verboseは
参照してください.
lchown
シ
ステムコールがないシステムで,再帰的な処理の間にシンボリックリンクが見
つかり,--no-dereferenceの影響がある場合,シンボリックリンク
もその参照先も変更されないことを告げる診断結果を表示します.
終了ステータスのゼロは成功を示し,ゼロ以外の値は失敗を示します.