GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Sicherstellen, dass neue Dateien in einem Verzeichnis zur Gruppe gehören

Sie wollen das SetGID-Bit setzen.

chmod g+s dir

Bei allen neuen Dateien, die im Verzeichnis erstellt werden, wird die Gruppe auf die Gruppe des Verzeichnisses gesetzt.

Ein Superuser-Blogbeitrag erklärte die Sticky Bits und andere Linux-Berechtigungsbits:

SetGID ist jedoch ein ganz anderes Ballspiel. Wenn in einem Verzeichnis das SetGID-Bit gesetzt ist und eine Datei in diesem Verzeichnis erstellt wird, wird der Gruppenbesitz der Datei automatisch auf die Gruppe des Verzeichnisses geändert.


Stellen Sie setgid ein Berechtigungskennzeichen für die Ordner.

chmod g+s dirname

Dies könnte dazu führen, dass einige Leute bei setgid hängen bleiben, wenn die Gruppe des Ordners sich von Ihrer eigenen unterscheidet, müssen Sie möglicherweise chmod als root ausführen, aber Sie erhalten keine Fehlermeldung, die darauf hinweist, dass Sie dies tun müssen.

ohne sudo

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir

$ chmod g+s dir                                     # no errors

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir   # but nothing changed

$ touch dir/nosudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar  9 10:51 nosudo        # and the group is set wrong

mit sudo

$ sudo chmod g+s dir

$ ls -ld dir
drwxrwsr-x 2 luke testgroup 4096 Mar  9 10:44 dir   # the setgid bit is now on

$ touch dir/withsudo && ls -l dir/
-rw-rw-r-- 1 luke luke      0 Mar  9 10:51 nosudo
-rw-rw-r-- 1 luke testgroup 0 Mar  9 10:51 withsudo # and the group is set right

Linux
  1. Verwalten Sie das Linux /tmp-Verzeichnis wie ein Boss

  2. Neue Dateien erhalten, um Gruppenberechtigungen unter Linux zu erben?

  3. Was ist der beste Weg, um die Anzahl der Dateien in einem Verzeichnis zu zählen?

  4. Wie erstelle ich ein neues Fenster im aktuellen Verzeichnis in Tmux?

  5. Nur die letzten 8 Dateien in einem Verzeichnis in ein anderes Verzeichnis verschieben?

Den dir-Befehl in Linux anhand von Beispielen lernen

Wo ist das temporäre Verzeichnis in Linux?

Wie erhalte ich die tatsächliche Verzeichnisgröße (aus du)?

Alle Dateien im Verzeichnis einer Website anzeigen?

Was ist der schnellste Weg, um alle Dateien und Unterordner in einem Verzeichnis zu entfernen?

Eröffnen Sie ein neues Terminalfenster mit demselben Verzeichnis wie das vorherige Fenster