web-dev-qa-db-ja.com

ディレクトリグループが所有するディレクトリに作成されたファイルを作成する方法

Linuxで、ディレクトリに作成されたすべての新しいファイルを、作成中のユーザーのグループではなく、ディレクトリのグループが所有するようにする方法はありますか?

20
singpolyma

もし、あんたが chmod g+s directoryすると、そのディレクトリに作成されたすべてのファイルがそのグループに所有されます。

newgroupは、実際には1つのグループにしか所属できなかった時代からの持ち越しであり、現在では実際には必要ありません。

29
gorilla

ユーザーが作成したファイルは、現在のグループIDで作成されます。ユーザーIDを確認するには、id;を実行します。グループのリストからGIDを変更するには、newgrp <group>またはsg <group> <command>を使用します。最初のコマンドはシェルを起動し、後者はGIDを<group> idに設定してコマンドを実行します。

このシェルの「ログ」を確認してください:

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
1
whitequark