Ich habe ein Verzeichnis namens data
. Dann führe ich ein Skript unter der Benutzer-ID 'robot' aus. Der Roboter schreibt in das data
Verzeichnis und aktualisiert die darin enthaltenen Dateien. Die Idee ist data
sowohl für mich als auch für den Roboter offen zu aktualisieren.
So richte ich die Berechtigungs- und Eigentümergruppe ein
drwxrwxr-x 2 me robot-grp 4096 Jun 11 20:50 data
wo sowohl ich als auch roboter zur 'roboter-grp' gehören. Ich ändere die Berechtigung und die Eigentümergruppe rekursiv wie das übergeordnete Verzeichnis.
Ich lade regelmäßig neue Dateien in das data
Verzeichnis mit rsync
. Leider erben neu hochgeladene Dateien nicht die Berechtigung des übergeordneten Verzeichnisses, wie ich hoffe. Stattdessen sieht es so aus
-rw-r--r-- 1 me users 6 Jun 11 20:50 new-file.txt
Wenn der Roboter versucht, ein Update durchzuführen new-file.txt
, schlägt dies aufgrund fehlender Dateiberechtigungen fehl.
Ich bin mir nicht sicher, ob das Setzen von umask hilft. In jedem Fall folgen die neuen Dateien nicht wirklich darauf.
$ umask -S
u=rwx,g=rx,o=rx
Ich bin oft durch Unix-Dateiberechtigungen verwirrt. Habe ich überhaupt einen richtigen Plan? Ich benutze Debian Lenny.
quelle
sudo setfacl -Rm g:users:rwX,d:g:users:rwX /var/www/logs_or_something
. Hatte ein Problem mit PHPUnit-Tests. Nach dem Erstellen von Protokolldateien aus laufenden Tests konnte der Apache-Benutzer diesewww-data
nicht schreiben / lesen.setfacl
man - Seite ,-b
oder--remove-all
entfernt die erweiterte ACLs.setfacl -Rm g:users:rwX,d:g:users:rwX data/
am Ende anhängen/etc/fstab
?defaults
andefaults,acl
.setfacl
ist ein Befehl, den Sie vom Terminal aus ausführen sollten.data/
sollte durch den Pfad zu dem Verzeichnis ersetzt werden, das Sie ändern möchten.Das Markieren eines Verzeichnisses setgid (
g+s
) bewirkt , dass neue Dateien den Gruppeneigentum des Verzeichnisses erben. Die-g
Option von rsync versucht jedoch, diesen zu überschreiben.quelle
Im Allgemeinen gelten andere Antworten. Wenn Sie jedoch erwähnen, dass rsync die Ursache des Problems ist, müssen Sie möglicherweise nur den Aufruf optimieren.
Zu Beginn
-a
macht das beliebte Flag rsync-Kopierberechtigungen; Verwenden-r
Sie statt-a
oder add-no-p
(für keine Berechtigungssynchronisierung) und-no-g
(für keine Gruppensynchronisierung). Außerdem unterstützt rsync das--chmod
Flag zum Ändern der Berechtigungen für neu erstellte Dateien.quelle
Ihre umask ist falsch für die Berechtigungen, die Sie möchten. Sie möchten eine Umask von 002. Sie haben derzeit eine Umask von 022. Außerdem ist der Kommentar zum Festlegen der Verzeichnis-Setgid korrekt, aber ich bin nicht sicher, ob Sie die Dateigruppen-Inhaberschaft ändern möchten oder nicht.
Unix-Dateiberechtigungen sind eigentlich ein sehr einfaches Modell. Ich finde ACLs völlig verwirrend. :-)
quelle