Bash
cp:無法創建正常文件:權限被拒絕
我在我的 Apache 伺服器上執行 PHP 腳本,我需要從腳本中複製一些文件(以執行複製文件的 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
請在上面的命令中添加標誌。更新: 使用此命令將
/tmp/foo
所有者從您自己的更改為 apache 預設使用者:
sudo chown www-data:www-data /tmp/foo -R
還請檢查您的 apache2 配置以查看它擁有哪個使用者來執行 php 腳本。