所有者が現在のユーザーの非主要グループのメンバーであるファイルを生成するために、非主要グループのメンバーとしてログインしたいと思います。
-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を使用してファイルを作成した後、グループの所有権を変更したくありません。
非主要グループのメンバーとしてログインすることに興味があります。
答え1
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
はい、これはデフォルトグループを変更しますが、永続的ではありません。これはセッション/シェルに固有のものであるため、スクリプトでは問題になりません。
答え2
これを行う理由に応じて、他の方法があります。
ディレクトリ権限の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 .
答え3
特定のグループのメンバーシップを使用してシェルにログインできます。
login <username>:<group>