
建構 LAMP 堆疊後,我的理解是Apache
創建www-data
使用者。但您不能直接登入www-data
(出於安全原因)。相反,如果你想做一些事情,那麼www-data
你必須運行這個:
su -s /bin/bash www-data
我可以忍受這一點。但我有兩個問題:
- 當您想透過 FTP 上傳檔案時該怎麼辦?目前,我必須以 root 使用者身分進行 FTP,然後在上傳後將
chown
檔案傳回。www-data
我運行 Magento,該設置堅持要求我只owner
授予write
.否則,我只會授予write
存取權限group
。 - 當您想要允許非 root 使用者使用
su
as 時,您會怎麼做www-data
?因為如果您su -s /bin/bash www-data
以普通用戶身份運行,那麼他們會看到This account is currently not available
.
答案1
據我了解 Apache 創建了一個 www-data 用戶
不會。
您無法以[該使用者]直接登入
是的 - 正如您所說,出於安全原因通常會這樣做。
你必須... su -s /bin/bash www-data
如果系統配置允許這樣做 - 有時甚至會停用它。
當您想透過 FTP 上傳檔案時該怎麼辦?
您制定了一個權限模型,允許相關使用者部署和修改文件,並允許 Web 伺服器 uid 讀取這些文件。在非常在極少數且受控的情況下,您可以設定 Web 伺服器 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
我不。永遠沒有必要這樣做。