Ich habe ein Problem mit Berechtigungen auf einem Linux-Server. Ich bin an BSD gewöhnt. Wenn ein Verzeichnis einer Gruppe gehört, deren Eigentümer es nicht ist, wie z. B. www-data, gehören die darin erstellten Dateien dieser Gruppe. Dies ist wichtig, da ich möchte, dass Dateien vom Webserver (der nicht als Root ausgeführt wird) gelesen werden können, aber ein Benutzer trotzdem neue Dateien in das Verzeichnis aufnehmen kann. Ich kann die Benutzer nicht in www-Daten eintragen, da sie dann die Websites aller anderen Benutzer lesen können.
Ich möchte, dass der Webserver alle Websites liest. Ich möchte, dass Benutzer ihre eigenen ändern können.
Die Berechtigungen für die Ordner sind im Moment so eingestellt.
drwxr-x--- 3 john www-data 4096 Feb 17 21:27 john
Es ist Standardverhalten bei BSD, dass Berechtigungen auf diese Weise funktionieren. Wie bringe ich Linux dazu?
quelle
Antworten:
Es hört sich so an, als würden Sie die setgid-Bit- Funktionalität beschreiben, bei der beim Festlegen eines Verzeichnisses alle neu erstellten Dateien gezwungen werden, ihre Gruppe auf dieselbe Gruppe festzulegen, die im übergeordneten Verzeichnis festgelegt ist.
Beispiel
Richten Sie ein Verzeichnis mit Perms + Ownerships ein
Berühre eine Datei als Saml in diesem Verzeichnis
Dies gibt Ihnen ungefähr, wie es sich anhört, als ob Sie möchten. Wenn Sie jedoch genau das möchten, was Sie beschrieben haben, sollten Sie auf die Funktionen der Zugriffssteuerungslisten zurückgreifen, um diese (ACLs) zu erhalten.
ACLs
Wenn Sie mehr Kontrolle über die Berechtigungen für die Dateien haben möchten, die unter dem Verzeichnis erstellt werden
somedir
, können Sie die folgende ACL-Regel hinzufügen, um die Standardberechtigungen wie folgt festzulegen.Vor
Berechtigungen festlegen
Beachten Sie
+
am Ende, dass auf dieses Verzeichnis ACLs angewendet wurden.nach
Beachten Sie, dass die Standardberechtigungen (
setfacl -Rdm
) so festgelegt sind, dass die Berechtigungenr-x
standardmäßig (g:apache:rx
) sind. Dies zwingt alle neuen Dateien, nur ihrr
Bit zu aktivieren.quelle
unzip
?unzip
. Speziell der-X
Schalter.TL: DR; Damit neue Dateien die Gruppe des Containerordners erben, gehen Sie wie folgt vor:
Hinweis: Dies ist nur ein Ausschnitt, der in der akzeptierten Antwort impliziert ist.
quelle
Beachten Sie als Ergänzung zu slms Antwort, dass Sie in einem ext2 / 3/4-Dateisystem das von Ihnen beschriebene BSD-Verhalten mithilfe der
bsdgroups
mount-Option auf der Partition replizieren können. Von dermount(1)
Manpage:quelle