Lamp

正確使用 www-data 安全地添加/編輯/刪除

  • September 11, 2018

建構 LAMP 堆棧後,我的理解是Apache創建www-data使用者。但是你不能直接以身份登錄www-data(安全原因)。相反,如果你想做一些事情,www-data那麼你必須執行這個:

su -s /bin/bash www-data

我可以忍受這一點。但我有兩個問題:

  1. 當您想通過 FTP 上傳文件時,您會怎麼做?目前,我必須以 root 使用者身份進行 FTP,然後在上傳後將chown文件返回www-data。我執行 Magento,並且該設置堅持我只owner授予write. 否則,我只會write允許訪問group.
  2. 當您想允許非 root 使用者suas時,您會怎麼做www-data?因為如果您su -s /bin/bash www-data以普通使用者身份執行,那麼他們會看到This account is currently not available.

據我了解,Apache 創建了一個 www-data 使用者

不會。大多數包管理系統會在部署軟體時創建一個使用者。

你不能直接登錄為

$$ that user $$

是的-正如您所說,出於安全原因,這通常是這樣做的。

你必須… su -s /bin/bash www-data

如果系統配置為允許這樣做 - 有時甚至會被禁用。

當您想通過 FTP 上傳文件時,您會怎麼做?

您制定了一個權限模型,該模型允許相關使用者部署和修改文件,並且網路伺服器 uid 可以讀取這些文件。在非常罕見且受控的情況下,您可以配置 webserver uid 可以寫入的文件根目錄之外的位置。

在我配置的每個網路伺服器上,網路伺服器 uid 是特權最少的帳戶,所以我通過“其他”權限槽授予它讀取訪問權限,例如

 colin@animal /var/www/html $ ls -l
 total 28
 -rw-rw-r-- 1 colin webdev  11321 Dec 27  2016 index.html
 drwxrwsr-x 2 colin webdev   4096 Jan 10  2017 session
 -rw-rw-r-- 1 colin webdev    148 Feb 18  2018 login.php
 drwxrwsr-- 1 colin grafx    4096 Jan  9  2017 images
 -rw-rw-r-- 1 colin grafx    8334 Jul  4 21:59 logo.png

權限是您共享訪問而不是拒絕訪問的方式。

允許非 root 使用者 su 為 www-data

我不。它不應該是必要的。

引用自:https://serverfault.com/questions/930453