Ich benötige Hilfe beim Festlegen der korrekten Berechtigungen oder des Besitzes des Apache-Dokumentenstamms. Folgendes brauche ich:
- verschiedene Webseiten gespeichert in
/var/www/html/<site>
- Zwei Benutzer sollten die Websites über ssh aktualisieren / verwalten
- Besitz sollte anders sein als der Apache-Benutzer (aus Sicherheitsgründen)
Wie kann ich das machen? Im Moment sind alle Dateien von der Welt beschreibbar, was nicht gut ist. Auf dem Server wird CentOS 5.5 ausgeführt
Vielen Dank
Antworten:
Erstellen Sie eine neue Gruppe
Fügen Sie Ihre Benutzer der Gruppe hinzu
Ändern Sie den Besitz des Site-Verzeichnisses
Ändern Sie die Berechtigungen des Site-Verzeichnisses
Jetzt kann jeder die Dateien lesen (einschließlich des Apache-Benutzers), aber nur root und webadmin können ihren Inhalt ändern.
quelle
umask
Befehl verarbeitet. Weitere Informationen hier osr507doc.sco.com/de/OSUserG/_default_perms_new_file.htmlIch bevorzuge es, die Partition mit -o acl zu mounten. Auf diese Weise können Sie mit dem Befehl setfacl fein abgestimmte Berechtigungen für Dateien und Ordner festlegen, anstatt nur Benutzergruppen-andere Berechtigungen anzugeben.
Fügen Sie also acl in Ihre Partitionszeile in / etc / fstab ein oder hängen Sie es mit mount -o remount, acl / mnt / xy, wieder ein und geben Sie dann niemandem den Besitz Ihres Webverzeichnisses: nobody. Chmod bis 770, und verwenden Sie setfacl, um Schreibberechtigungen nur für die Ordner zu erteilen, die es benötigen, z. Geben Sie www-data (oder dem Benutzer, unter dem Ihr Webserver ausgeführt wird) Schreibberechtigungen für den Upload-Ordner und geben Sie Ihrem eigenen Benutzer Schreibberechtigungen für das gesamte Verzeichnis.
Jetzt kann niemand mehr Ihre Dateien lesen, außer Ihrem Webserver und Ihrem eigenen Benutzer. Sie können in jede Datei im Ordner schreiben, und der Webserver kann nur in den Upload-Ordner schreiben.
quelle