我有一個簡單的問題,但是,我很難理解如何以安全的方式做到這一點,
我有一個在 Linux (Centos7) 上運行的基於 PHP 的 Web 應用程序,我在 Linux 伺服器上擁有具有 Sudo 權限的「使用者」存取權限。
Web 伺服器 (Apache) 以具有「apache」群組的「apache」使用者身分執行,
問題是當我嘗試使用 WinSCP 部署應用程式時,出現權限被拒絕錯誤,解決此問題的唯一方法是執行
usermod -g apache myusername
chmod 775 /var/www/html
我不想將 775 分配給整個 Web 資料夾,我認為這是一個很大的安全問題,歸檔此類任務最安全的方法是什麼?
如何使用 Winscp 和我的使用者帳戶(但 AS apache 使用者)部署我的應用程式?或任何其他被認為安全的常見行業慣例的建議?
答案1
有多種推薦方法可以解決此問題。
/var/www/html
為透過 WinSCP/SFTP 登入的使用者新增寫入存取權限。這可以透過多種方式完成。- 將群組變更為運行使用者(並授予寫入權限)
注意:這是有效的,因為總是為使用者建立一個 Unix 群組。sudo chgrp <user> /var/www/html sudo chmod g+w -R /var/www/html
- 建立一個包含 apache 和使用者的新 unix 群組(並授予寫入存取權限)
sudo groupadd <groupname> sudo chgrp <groupname> /var/www/html sudo chmod g+w -R /var/www/html
- 將群組變更為運行使用者(並授予寫入權限)
- 當使用者透過 WinSCP/SFTP 登入時執行 apache 服務。 (關聯)
- 將 apache 文件根目錄移至
/var/www/html
(只需從 /var/www/html 建立符號連結到部署使用者擁有的目錄或更新 apache 配置)