Ich habe einen VPS und versuche, die Best Practices in Bezug auf die Benutzereinrichtung für Webdienste zu sammeln.
Ich habe verschiedene Dienste auf meinem Server (eine Cloud-App, eine Streaming-App usw.).
Was ich weiß, ist, dass ich für jeden Dienst einen Benutzer anlege, der jeweils sein eigenes Home-Verzeichnis hat, sich damit aber nicht anmelden kann.
Dadurch kann ich Cron-Befehle pro Benutzer einrichten, anstatt sie als Root auszuführen. Außerdem kann ich Backups pro Dienst erstellen und in einem eigenen Home-Verzeichnis speichern (ich weiß, ich sollte meine Backups nicht auf derselben Festplatte haben, nicht einmal auf demselben Server, aber ich habe nicht die Ressourcen, um einen weiteren Server zu kaufen, auf dem ich meine Backups speichern kann).
Ist es, abgesehen von der Backup-Sache, eine gute Idee, für jeden Dienst einen neuen Benutzer anzulegen? Oder sollte ich alles unter www-data ablegen und das war’s?
Antwort1
Der Hauptvorteil bei der Verwendung separater Konten besteht darin, dass der Zugriff auf die Daten anderer Dienste beschränkt werden kann. Dies kann Lesezugriff auf vertrauliche Daten oder Schreibzugriff bedeuten, um die Folgen zu begrenzen, wenn eine App kompromittiert wird.
Das alleinige Trennen der Benutzerkonten reicht möglicherweise nicht aus, wenn Sie alle PHP-Skripte mit den Berechtigungen des Benutzers ausführen www-data
. Sie können dies vermeiden, indem Sie für jeden Benutzer einen separaten PHP-FPM-Pool erstellen, der nur die Berechtigungen dieses Benutzers hat.