wie man sich als Mitglied einer bestimmten Gruppe anmeldet

8

Ich möchte mich als Mitglied einer nicht primären Gruppe anmelden, um Dateien zu erstellen, deren Eigentümer Mitglied einer nicht primären Gruppe des aktuellen Benutzers ist.

-rwxr-xr-x 2 gowtham  gowtham      4096 Sep  5 14:48 defaultNewFile
drwxr-xr-x 2 gowtham  specificgrp  4096 Sep  5 14:50 requiredNewFile

Ich möchte den Gruppenbesitz nach dem Erstellen einer Datei mit Chown nicht ändern.

Ich bin mehr daran interessiert, mich als Mitglied einer nicht primären Gruppe anzumelden.

Necktwi
quelle

Antworten:

6

Je nachdem, warum Sie dies tun möchten, gibt es möglicherweise einen anderen Weg.

Wenn das Setgid-Bit der Berechtigungen eines Verzeichnisses festgelegt ist, gehören alle in diesem Verzeichnis erstellten Dateien derselben Gruppe, der das Verzeichnis gehört.

$ 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 .
Gilles 'SO - hör auf böse zu sein'
quelle
Danke genau das, was ich will.
Necktwi
8

newgrpwird dir helfen. Unten finden Sie eine exemplarische Vorgehensweise. Sollte für sich selbst sprechen.

$ 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

Ja, dies ändert die primäre Gruppe, jedoch nicht dauerhaft. Nur für diese Sitzung / Shell, daher sollte dies bei Skripten kein Problem sein.

gertvdijk
quelle
Sie ändern die primäre Gruppe des Benutzers. Ich möchte es tun, ohne die primäre Gruppe zu ändern. Danke, ich habe die Lösung gefunden. Ich habe die Antwort gepostet.
Necktwi
Wie @gertvdijk in seinem Kommentar unten erwähnt, ändert dies die primäre Gruppe nicht dauerhaft. newgrp GROUPerstellt eine neue Shell und meldet sich als aktueller Benutzer an, wobei die primäre Gruppe des Benutzers auf festgelegt wird GROUP.
jrw32982 unterstützt Monica
0

man kann sich in einer Shell als Mitglied einer bestimmten Gruppe mit anmelden

login <username>:<group>
Necktwi
quelle
Es funktioniert, um sich in der Shell anzumelden. Aber in meiner Situation benutze ich FTP-Client zum Lesen oder Schreiben von Dateien. Ich benutze sftp: // user @ host um mich anzumelden. sftp: // user: group @ host funktioniert nicht. Wie mache ich das im Falle eines FTP-Logins?
Necktwi
1
Das verändert die primäre Gruppe auf die gleiche Weise wie in meiner Antwort. vorübergehend für diese Sitzung.
Gertvdijk