在 Ubuntu 桌面本機 Web 伺服器上設定 /var/www 的寫入權限

在 Ubuntu 桌面本機 Web 伺服器上設定 /var/www 的寫入權限

我這三天都在苦苦掙扎,不知道自己做錯了什麼......

編輯3:我認為我的問題比我想像的更具體,所以我在這裡創建了一個新線程:https://askubuntu.com/questions/631303/make-owner-of-newly-create-files-and-folders-www-data-instead-of-superuser-admin

這是我的設定:

  • 一台安裝了 Ubuntu Desktop 和 LAMP 的電腦。請注意,我沒有靜態 IP,其唯一目的是能夠與我的團隊在本地創建協作網站,因為菲律賓的連接速度相當慢。所以(如果我沒記錯的話)如果可以解決問題,我不介意將所有內容設為 777,但我想學習正確的方法以供將來參考。

  • 我創建了5 個“用戶”,全部位於www-data 群組(以及一個新的www-pub 群組,因為我試圖尋找新方法......我檢查了兩者),使用Samba Share 連接到/ www/var 資料夾。

到目前為止我已經嘗試了一切,但沒有成功:

  • chmod 和 chown 與 find 指令一起使用 -R 進行遞歸。
  • 將 umask 更改為 0002

但是我所有的新目錄和文件仍然不可寫,除非我再次運行在各個線程上找到的 chmod/chown 命令行。

我是 ubuntu 和伺服器/命令列等方面的純粹新手,但學得很快。

問題:

  • 我可以使用簡單的 chmod 777 規則(以及執行此操作的確切方法是什麼),因為它用於生產但無法訪問世界?

  • 執行此操作的逐步過程是什麼?

  • 難道只是別的什麼嗎?阿帕奇配置?是否應該一直引用?

我搞不清楚了 !

先致謝

編輯:認為這可能有幫助:

ls -l /var/www
    total 4
    drwxrwsr-x 8 www-data www-data 4096 Jun  2 17:56 html
    -rw-rw-r-- 1 www-data www-data    0 May 27 01:40 Untitled Document~

ls -l /var
    total 52
    drwxr-xr-x  2 root     root     4096 Jun  2 10:29 backups
    drwxr-xr-x 21 root     root     4096 May 28 12:49 cache
    drwxrwsrwt  2 root     whoopsie 4096 May 28 11:56 crash
    drwxr-xr-x 71 root     root     4096 May 27 11:23 lib
    drwxrwsr-x  2 root     staff    4096 Apr 18 05:34 local
    lrwxrwxrwx  1 root     root        9 May 11 23:05 lock -> /run/lock
    drwxrwxr-x 16 root     syslog   4096 Jun  2 17:53 log
    drwxrwsr-x  2 root     mail     4096 Apr 22 20:13 mail
    drwxrwsrwt  2 root     whoopsie 4096 Apr 22 20:19 metrics
    drwxr-xr-x  2 root     root     4096 Apr 22 20:13 opt
    lrwxrwxrwx  1 root     root        4 May 11 23:05 run -> /run
    drwxr-xr-x  9 root     root     4096 May 26 18:46 spool
    drwxrwxrwt 12 root     root     4096 Jun  2 17:59 tmp
    drwx------  2 root     bin      4096 Jun  2 10:21 webmin
    drwxrwsr-x  4 www-data www-data 4096 May 29 15:37 www 

編輯2:

在我的網站所在的資料夾( /var/www/html )上運行 ls -l 時,我看到了一些奇怪的東西,可能會給出更多提示?今天建立的新資料不屬於 www-data,而是屬於伺服器的主管理員(「boris」)

ls -l /var/www/html
drwxrwsr-x 2 boris    www-data  4096 May 29 15:38 Agama
drwxrwsr-x 6 www-data www-data  4096 May 27 18:21 calima
drwxrwsr-x 6 www-data www-data  4096 May 27 23:19 calima2
drwxrwsr-x 6 boris    www-data  4096 Jun  2 17:21 cheche
drwxrwsr-x 9 boris    www-data  4096 Jun  2 18:17 Cheche1
-rw-rw-r-- 1 www-data www-data 11321 May 26 18:19 index.html
-rw-rw-r-- 1 www-data www-data    20 May 27 01:41 index.php
drwxr-sr-x 2 boris    www-data  4096 Jun  2 17:56 Test

答案1

我將使用另一個目錄的符號連結:

ln -s <target> <link>

編輯:更準確地說:你可以這樣做:

ln -s /var/www /path/to/link

這樣做可以保護系統,因為您的根目錄仍然是唯讀的(作為使用者)。在主路徑中的某個位置有一個符號連結目錄是修改項目的更省錢的方法。我不會將它用於生產系統。

相關內容