Erteilen Sie die Standardschreibberechtigung zum Gruppieren neu erstellter Dateien und Ordner

15

Angenommen, wir haben zwei Benutzer: a und b, die beide Teil der allgemeinen Gruppe sind.

Ich möchte, dass jede Datei oder jeder Ordner, den A erstellt, Schreibrechte für die Gruppe GENERAL hat.

Wie kann ich es tun?

Beispielsweise wird die neu erstellte Datei wie folgt festgelegt:

-rw-r--r-- 1 a general

Dies gibt der allgemeinen Gruppe keine Schreibberechtigung

Dejel
quelle
Diese Antwort könnte Sie interessieren: stackoverflow.com/questions/3175303/…
Gavriel
2
Ich möchte es nicht mit Java machen. Dies ist nicht der richtige Weg, um es zu tun
Dejel
"Ich möchte es nicht von Java aus tun. Dies ist nicht der richtige Weg, es zu tun." Das ist fast eine philosophische Aussage. Es gilt überall ...
GargantuChet

Antworten:

15

Ja, Sie können das ändern umask. Die umaskbestimmt , welche die Standardberechtigungen für eine neu creted Datei sind.

Sie können umask g+wam Ende Ihrer Shell-Konfigurationsdatei ( ~/.bashrczum Beispiel) hinzufügen .

Aber eigentlich ist es keine empfehlenswerte Praxis. Wenn Sie die Integrität einer Datei sicherstellen möchten und vergessen, die Dateiberechtigungen zu aktualisieren, kann sie von der Gruppe geändert werden. Dies verstößt gegen das Prinzip der "sicheren Anfangswerte".

Stattdessen können Sie alle neu erstellten Dateien eines bestimmten Verzeichnisses für die Gruppe schreibbar machen. Sie können dies tun, indem Sie die ACLs des Verzeichnisses bearbeiten. Zum Beispiel setfacl -dm u::rw,g::rw,o::r ~/shared.

Schauen Sie sich diese Posts als Referenz an: /server/349145/can-i-override-my-umask-using-acls-to-make-all-files-created-in-a-given-director und /programming/580584/setting-default-permissions-for-new-created-files-and-sub-directories-under-a .

lgeorget
quelle
Was ist, wenn ich das Verzeichnis nicht kenne? Da sagen wir mal, dass ich Ordner TEST habe. Alle von A erstellten Dateien befinden sich unter TEST. Er konnte jedoch einen Ordner 20130515 erstellen und darunter die neu erstellte Datei suchen. So sollte es für jede Datei und jeden Ordner sein, die bzw. der rekursiv unter dem Ordner TEST erstellt wird
Dejel,
2
Standard-ACLs erben neue Unterverzeichnisse und gelten für Dateien, die in diesen Verzeichnissen erstellt wurden. Wenn Sie also /srv/TESTdie Standard-ACLs für dieses Verzeichnis festgelegt haben , hat dieses Verzeichnis /srv/TEST/20130515dieselben Standard-ACLs wie das übergeordnete Verzeichnis.
Bratchley
Es könnte auch eine gute Idee sein, sudo chmod g+s [dir]die Dateien auszuführen, damit sie der Gruppe gehören
linuxgnuru