Wie erstelle ich Dateien in einem Verzeichnis der Verzeichnisgruppe?

20

Gibt es unter Linux eine Möglichkeit, zu bewirken, dass alle neuen Dateien, die in einem Verzeichnis erstellt wurden, der Gruppe des Verzeichnisses und nicht der Gruppe des erstellenden Benutzers gehören?

singpolyma
quelle

Antworten:

28

Wenn Sie dies chmod g+s directorytun, gehören alle in diesem Verzeichnis erstellten Dateien dieser Gruppe.

newgroup ist wirklich ein Überbleibsel aus der Zeit, als man nur in einer Gruppe sein konnte und heutzutage nicht wirklich gebraucht wird.

Gorilla
quelle
1

Vom Benutzer erstellte Dateien werden mit seiner aktuellen Gruppen-ID erstellt. Um Benutzer-IDs zu überprüfen, können Sie ausführen id; Um Ihre GID in etwas aus der Liste Ihrer Gruppen zu ändern, verwenden Sie newgrp <group>oder sg <group> <command>: Der erste Befehl startet die Shell, und der letztere führt nur einen Befehl mit der auf <group>id eingestellten GID aus .

Überprüfen Sie dieses Shell-Protokoll:

whitequark@forth:~/test$ id
uid=1000(whitequark) gid=1000(whitequark) groups=4(adm),20(dialout),24(cdrom),
46(plugdev),104(lpadmin),114(admin),118(sambashare),1000(whitequark)
whitequark@forth:~/test$ touch file1
whitequark@forth:~/test$ ls -la
total 8
drwxr-xr-x  2 whitequark whitequark 4096 2010-01-29 19:49 .
drwxr-xr-x 82 whitequark whitequark 4096 2010-01-29 18:02 ..
-rw-r--r--  1 whitequark whitequark    0 2010-01-29 19:49 file1
whitequark@forth:~/test$ newgrp admin
<<< at this point a new shell is started >>>
whitequark@forth:~/test$ touch file2
whitequark@forth:~/test$ ls -la
total 8
drwxr-xr-x  2 whitequark whitequark 4096 2010-01-29 19:49 .
drwxr-xr-x 82 whitequark whitequark 4096 2010-01-29 18:02 ..
-rw-r--r--  1 whitequark whitequark    0 2010-01-29 19:49 file1
-rw-r--r--  1 whitequark admin         0 2010-01-29 19:49 file2
Whitequark
quelle