Centos - 部署 Web 應用程式 - 透過 SFTP/WinSCP 使用非 apache 使用者帳戶的最佳方法是什麼

Centos - 部署 Web 應用程式 - 透過 SFTP/WinSCP 使用非 apache 使用者帳戶的最佳方法是什麼

我有一個簡單的問題,但是,我很難理解如何以安全的方式做到這一點,

我有一個在 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

有多種推薦方法可以解決此問題。

  1. /var/www/html為透過 WinSCP/SFTP 登入的使用者新增寫入存取權限。這可以透過多種方式完成。
    • 將群組變更為運行使用者(並授予寫入權限)
      sudo chgrp <user> /var/www/html
      sudo chmod g+w -R /var/www/html
      
      注意:這是有效的,因為總是為使用者建立一個 Unix 群組。
    • 建立一個包含 apache 和使用者的新 unix 群組(並授予寫入存取權限)
      sudo groupadd <groupname>
      sudo chgrp <groupname> /var/www/html
      sudo chmod g+w -R /var/www/html
      
  2. 當使用者透過 WinSCP/SFTP 登入時執行 apache 服務。 (關聯
  3. 將 apache 文件根目錄移至/var/www/html(只需從 /var/www/html 建立符號連結到部署使用者擁有的目錄或更新 apache 配置)

相關內容