私はPHPスクリプトをApacheサーバーで実行しており、スクリプトからいくつかのファイルをコピーする必要があります(ファイルをコピーするBashスクリプトを実行するため)。ディレクトリにコピーできます/tmp
問題ありませんが、/tmp/foo
にコピーすると、次のエラーが発生します。
cp: cannot create regular file '/tmp/foo/file.txt': Permission denied
ディレクトリ/tmp
と/tmp/foo
の権限が同じ値に設定されている場合でも.
何が問題なのか知っていますか?
/tmp
ディレクトリには、すべてのユーザーのすべての権限(読み取り/書き込み)があります。自分のアカウントで/tmp/foo
を作成した場合は、あなただけの権限があります。他のユーザー(またはプログラム)が書き込み可能にしたい場合は、次のコマンドでそのアクセス許可を変更します。
chmod 777 /tmp/foo
以前からこのディレクトリ内に他のファイルがある場合は、上記のコマンドに-R
フラグを追加します。
pdate:このコマンドを使用して、/tmp/foo
所有者を自分の所有者からApacheのデフォルトユーザーに変更します。
Sudo chown www-data:www-data /tmp/foo -R
また、Apache2の設定を確認して、phpスクリプトを実行するためのユーザーを確認してください。