Centos - Webanwendung bereitstellen - Was ist der beste Weg, ein Nicht-Apache-Benutzerkonto mit SFTP/WinSCP zu verwenden?

Centos - Webanwendung bereitstellen - Was ist der beste Weg, ein Nicht-Apache-Benutzerkonto mit SFTP/WinSCP zu verwenden?

Ich habe eine einfache Frage, aber ich verstehe nicht, wie ich das auf sichere Weise machen kann.

Ich habe eine PHP-basierte Webanwendung, die unter Linux (Centos7) läuft. Ich habe „Benutzer“-Zugriff mit Sudo-Berechtigung auf dem Linux-Server.

Der Webserver (Apache) läuft als "Apache"-Benutzer mit einer "Apache"-Gruppe,

Das Problem ist, wenn ich versuche, Anwendungen mit WinSCP bereitzustellen, erhalte ich Fehlermeldungen wegen verweigerter Berechtigung. Die EINZIGE Möglichkeit, dieses Problem zu lösen, besteht darin, Folgendes zu tun:

usermod -g apache myusername
chmod 775 /var/www/html

Ich möchte nicht dem gesamten Webordner 775 geben, ich denke, es ist ein großes Sicherheitsproblem. Was ist die sicherste Möglichkeit, diese Art von Aufgabe zu archivieren?

Wie kann ich meine App mit Winscp mit meinem Benutzerkonto, aber als Apache-Benutzer bereitstellen? Oder gibt es andere Vorschläge zu gängigen Branchenpraktiken, die als sicher gelten?

Antwort1

Zur Lösung dieses Problems gibt es mehrere empfohlene Möglichkeiten.

  1. /var/www/htmlFügen Sie dem Benutzer, der sich über WinSCP/SFTP anmeldet, Schreibzugriff hinzu . Dies kann auf mehrere Arten erfolgen.
    • Ändern der Gruppe zum laufenden Benutzer (und Erteilen von Schreibzugriff)
      sudo chgrp <user> /var/www/html
      sudo chmod g+w -R /var/www/html
      
      Hinweis: Dies funktioniert, weil für Benutzer immer eine Unix-Gruppe erstellt wird.
    • Erstellen einer neuen Unix-Gruppe, die sowohl Apache als auch den Benutzer enthält (und Schreibzugriff gewähren)
      sudo groupadd <groupname>
      sudo chgrp <groupname> /var/www/html
      sudo chmod g+w -R /var/www/html
      
  2. Führen Sie den Apache-Dienst als Benutzer aus, der sich über WinSCP/SFTP anmeldet. (Verknüpfung)
  3. Verschieben Sie das Apache-Dokumentstammverzeichnis von /var/www/html(einfach durch Erstellen eines symbolischen Links von /var/www/html in ein Verzeichnis, das dem Bereitstellungsbenutzer gehört, oder durch Aktualisieren der Apache-Konfiguration).

verwandte Informationen