現在のユーザーの非プライマリグループのメンバーとして所有者がいるファイルを作成するには、非プライマリグループのメンバーとしてログインします。
-rwxr-xr-x 2 gowtham gowtham 4096 Sep 5 14:48 defaultNewFile
drwxr-xr-x 2 gowtham specificgrp 4096 Sep 5 14:50 requiredNewFile
chownでファイルを作成した後、グループの所有権を変更したくありません。
非プライマリグループのメンバーとしてログインすることに興味があります。
これを行う理由によっては、別の方法がある場合があります。
ディレクトリのアクセス権のsetgidビットが設定されている場合、そのディレクトリで作成されたすべてのファイルは、そのディレクトリを所有する同じグループによって所有されます。
$ chgrp specificgrp .
$ chmod g+s .
$ touch newfile
$ ls -l newfile
-rw-r--r-- 2 gowtham specificgrp 4096 Sep 5 14:48 newfile
$ ls -ld .
drwxr-sr-x 2 gowtham specificgrp 4096 Sep 5 14:48 .
newgrp
がお手伝いします。ウォークスルーについては、以下を参照してください。自分自身のために話す必要があります。
$ id
uid=1000(gert) gid=1000(gert) groups=1000(gert),4(adm),[...]
$ touch file1
$ newgrp adm
$ id
uid=1000(gert) gid=4(adm) groups=1000(gert),4(adm),[...]
$ touch file2
$ ls -al
[...]
-rw-rw-r-- 1 gert gert 0 Nov 23 11:58 file1
-rw-rw-r-- 1 gert adm 0 Nov 23 11:59 file2
はい、これによりプライマリグループが変更されますが、永続的には変更されません。そのセッション/シェルについてのみなので、スクリプトではこれは問題になりません。
を使用して特定のグループのメンバーとしてシェルにログインできます
login <username>:<group>