ファイルの所有者を変更 - chown()
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、ファイルの所有者を変更する関数 chown()を紹介します。
chown関数
bool chown ( string $filename , mixed $user )
指定したファイルの所有者を、指定したユーザーへ変更します。
引数 $filename ファイル名、あるいはファイル名を含むパスを指定します。 $user ユーザー名、あるはユーザー番号を指定します。
返り値
ファイル所有者の変更が成功した場合は trueを、の他の場合は falseを返します。
サンプルコード
指定したファイルを、指定したユーザーへ変更するサンプルコードです。
chown( ファイル、ユーザー )
<?php $file = "file1.txt"; $usr = "root"; var_dump( chown($file, $usr) ); ?>
スクリプトを実行する前にlsコマンドでファイル所有者を確認します。ファイルの所有者は「karuma」になっています。
$ ls -l file.txt
-rw-rw-r-- 1 karuma karuma 9月 16 14:31 2013 file.txt
rootでスクリプトを実行した結果です。trueが返されているので、ファイル所有者の変更が成功しました。
bool(true)
再度、lsコマンドでファイル所有者をみてみましょう。「root」になってますね。
$ ls -l file.txt
-rw-rw-r-- 1 root karuma 0 9月 16 14:31 2013 file.txt
一般ユーザーでスクリプトを実行すると以下のようなWarningが表示され、ファイルの所有者が変更できません。
PHP Warning: chown(): Operation not permitted in /home/karuma/chown.php on line 5 bool(false)
root、あるいはファイル変更権限のあるユーザーでスクリプトを実行するか、sudoコマンドでスクリプトを実行しましょう。