Bash

cp:無法創建正常文件:權限被拒絕

  • January 12, 2019

我在我的 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 腳本。

引用自:https://unix.stackexchange.com/questions/466625