無法在 ubuntu 上的 htdocs 中建立任何資料夾

無法在 ubuntu 上的 htdocs 中建立任何資料夾

我如何設定權限,以便我可以? “建立新資料夾”選項呈灰色。

我試過這個:

sudo chmod -rw /opt/lampp/htdocs

但它仍然不起作用。當我添加:

sudo chmod -rw 755 /opt/lampp/htdocs, 

它說:"755" no such file or directory

答案1

您誤解了 chmod 和 unix 檔案權限的操作方式。

您需要設定 /opt/lampp/htdocs 目錄,以便您登入的使用者俱有寫入權限。您還需要確保 LAMPP 使用的任何 Web 伺服器都可以讀取您在其中寫入的內容(不幸的是,我對 LAMP 不熟悉。)

首先,您需要查看誰擁有 /opt/lampp/htdocs:

$ ls -ld /opt/lampp/htdocs

應該返回類似:

drwxr-xr-x 4 lampp www 4096 2011-03-22 12:43 /opt/lampp/htdocs

第一個位元(dwrxr-xr-x)是檔案權限。 「lampp」是目錄的擁有者,「www」是目錄的群組擁有者。你需要注意這一點。

首先讓我們對組別進行排序。如果該群組是除“root”之外的任何群組,那麼一切都很好,您可以跳過此部分:

如果它是“root”,則需要更改為更合理的內容。讓我們為其建立一個新群組:

$ sudo groupadd www

然後更改目錄上的群組:

$ sudo chgrp -R www /opt/lampp/htdocs

現在您需要使 Web 伺服器作為 www 群組運行。如果 Web 伺服器是 Apache,那麼您應該檢查 /etc/apache/httpd.conf 檔案並相應地編輯「Group」設定。我不知道其他網頁伺服器的設定。

現在,如果您不需要將群組從 root 切換到其他群組,則可以跳到此處。

我們現在需要解決目錄的權限問題。我們希望使用一些非常特殊的權限,稱為「setgid」位元。

$ sudo chmod 2775 /opt/lampp/htdocs
$ ls -ld /opt/lampp/htdocs
drwxrwsr-x 4 lampp www 4096 2011-03-22 12:43 /opt/lampp/htdocs

您會看到權限現在已經發生了一些變化。讓我們解釋一下這些。

  • 第一個字母是文件類型。在本例中,「d」代表目錄。
  • 接下來的三個「rwx」是擁有者 (lampp) 對目錄的權限。 r = 讀取,w=寫入,x=查看目錄內容。
  • 接下來的三個「rws」代表群組擁有者 (www),但您會注意到本例中的 x 實際上是 s - 我們稍後會討論這一點。
  • 最後三個“rx”適用於其他所有人。即讀取,並查看目錄內容。沒有寫作。

群組權限中的「s」稱為「setgid」位元。這是一種特殊權限,它會導致在目錄中建立的任何檔案從目錄本身繼承群組擁有者。因此,如果「users」群組中的使用者「fred」在其中建立一個文件,則該文件將歸「www」群組中的「fred」所有。這對於多人讀寫相同檔案的共用區域非常有用。

但就目前情況而言,您仍然無法寫入該區域。為什麼?因為你不在「www」組。現在讓我們來修正這個問題:

$ sudo usermod -aG www blub

將“www”替換為您在開頭附近記下的 /opt/lampp/htdocs 目錄的群組擁有者。

您需要登出並再次登入才能使此變更生效 - 您的群組成員資格將在登入時讀取。

完成此操作後,您應該突然發現您現在可以神奇地在 /opt/lampp/htdocs 中寫入檔案。

如果您希望允許系統上的其他使用者寫入,只需使用命令將他們新增至 www 群組即可usermod -aD www <username>

答案2

這個簡單的終端命令給了我完全的權限,htdocs我能夠開始處理 PHP 項目

sudo chmod 777 -R /opt/lampp/htdocs

針對穆罕默德的評論,最好使用sudo chmod 755 -R /opt/lampp/htdocs

答案3

您使用 +rw 或八進位, 不是都。

您想要做的是從名為 755 的目錄以及 /opt/lampp/htdocs 中刪除讀取和寫入權限。

無論如何,您不應該使用 xampp - 您可以獲得更新的、本機安裝的燈堆疊 - 您可以使用taskel 安裝它。

答案4

將目錄/opt/lampp/htdocs及其內容的群組所有權變更為群組jade

sudo chgrp -R jade /opt/lampp/htdocs

然後,如果您想要修改權限(例如,授予群組jade寫入權限),通常會使用 chmod 命令。例如:

sudo chmod -R g+w /opt/lampp/htdocs

相關內容