特定のグループのメンバーとしてログインする方法

特定のグループのメンバーとしてログインする方法

所有者が現在のユーザーの非主要グループのメンバーであるファイルを生成するために、非主要グループのメンバーとしてログインしたいと思います。

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

関連情報