(change to a new group)
Das in die POSIX-Shell sh eingebaute Kommando newgrp überlagert die aktuelle Shell mit /bin/newgrp. Das Kommando /bin/newgrp macht die Nummer der angegebenen Gruppe zu Ihrer aktuellen Gruppennummer und überlagert sich selbst mit einer Shell. Mit CTRL+D beenden Sie die Shell, in der Sie newgrp aufgerufen haben.
Achtung!
Wird newgrp mit CTRL+C in jener Phase abgebrochen, in der /bin/newgrp die aktuelle Shell überlagert, wird auch die Shell abgebrochen, von der newgrp aufgerufen wurde.
Mit newgrp können Sie also in eine andere Benutzergruppe wechseln. Das bedeutet:
Ihre Zugriffsrechte für bestehende Dateien ändern sich entsprechend der neuen Gruppenzugehörigkeit.
Bei Dateien, die Sie neu anlegen, gelten die Zugriffsrechte für Gruppe ab jetzt der Gruppe, in die Sie gewechselt sind.
Nach dem Wechsel der Gruppe sind in der jetzt aktuellen Shell nur noch die Variablen bekannt, die Sie vorher exportiert haben (siehe export). Nicht exportierte Variablen sind entweder nicht definiert oder bekommen von der Shell einen Standard-Wert zugewiesen (siehe sh). Auch Shell-Variablen, wie z.B. PATH und HOME, erhalten Standardwerte, wenn sie nicht vorher vom System oder von Ihnen exportiert worden sind.
Vor dem Aufruf beachten
Die Gruppe, in die Sie wechseln wollen, muss in der Datei /etc/group eingetragen sein. Andernfalls bricht newgrp mit einer Fehlermeldung ab.
Sie können mit newgrp in jede Gruppe wechseln, in der Sie Mitglied sind; d.h. Ihre Benutzerkennung ist in der Datei /etc/group im Eintrag für diese Gruppe enthalten.
Bei den Fehlermeldungen „Sorry“ und/oder „Unknown group“ bricht newgrp ab, bei allen anderen Fehlermeldungen beendet sich die Shell.
Syntax
Format 1: | newgrp[ -l][ gruppe] |
Format 2: | newgrp[ -][ gruppe] |
Beide Formate werden gemeinsam beschrieben, da die Option -l in Format 1 äquivalent der Option - in Format 2 ist. Kein Argument angegeben Sie wechseln zurück in die Gruppe, deren Gruppen-Nummer (GID) für Ihre Benutzerkennung
Das Kommando newgrp überlagert die aktuelle Shell mit einer Login-Shell. Bevor diese Shell ihr Bereitzeichen ausgibt, führt sie die Dateien /etc/profile und $HOME/.profile, falls vorhanden, aus und wechselt in Ihr HOME-Dateiverzeichnis. Sie arbeiten also in der gleichen Umgebung wie nach der Anmeldung am System, allerdings als Mitglied einer anderen Gruppe, nämlich der, die Sie beim Aufruf von /bin/newgrp angegeben haben.
Name der Gruppe, in die Sie wechseln wollen. Der Name dieser Gruppe muss in der Datei /etc/group eingetragen sein. Die zugehörige Gruppennummer (GID) muss bereits für eine Benutzerkennnung eingetragen sein. Wenn Sie nicht Mitglied der angegebenen Gruppe sind, muss für die Gruppe in der Datei /etc/group ein Kennwort vereinbart sein. Das Kommando newgrp erwartet die Eingabe dieses Kennwortes, bevor der Wechsel in die Gruppe stattfindet. Wenn für Ihre Benutzerkennung kein Kennwort eingetragen ist, muss für die Gruppe in der Datei /etc/group ein Kennwort vereinbart sein. Das Kommando newgrp erwartet die Eingabe dieses Kennwortes, bevor der Wechsel in die betreffende Gruppe stattfindet. Wenn Sie wieder in die Benutzergruppe wechseln wollen, die für Sie eingetragen ist, rufen Sie newgrp ohne Angabe eines Gruppennamens auf. gruppe nicht angegeben: |
Endestatus
immer 0 |
Fehler
Dieser Name ist nicht in der Datei /etc/group eingetragen.
Sie dürfen nicht in diese Gruppe wechseln, weil Sie nicht Mitglied sind und kein Kennwort für diese Gruppe vereinbart ist. |
Datei
/etc/group legt für die eingetragenen Gruppennummern einen Namen fest und bestimmt alle Mitglieder dieser Gruppe. |
Internationale Umgebung
Die folgenden Umgebungsvariablen beeinflussen die Ausführung des Kommandos newgrp: LANG Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. Enthält eine der Internationalisierungsvariablen eine ungültige Einstellung, verhält sich das Kommando so, als sei keine der Variablen definiert worden. LC_ALL Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen. LC_CTYPE Legt die internationale Umgebung für die Interpretation der Byte-Folgen eines Datentexts als Zeichen fest (z.B. Singlebytezeichen im Unterschied zu Mehrbytezeichen in Argumenten und Eingabedateien) sowie die Einteilung der Zeichen in Groß- und Kleinbuchstaben und deren Übereinstimmung. LC_MESSAGES Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden. NLSPATH Legt den Pfad der Meldungsdateien für LC_MESSAGES fest. |
Beispiel
Wechseln in die Gruppe mit dem Gruppennamen consul:
Die nach dem Gruppenwechsel neu angelegte Datei dateineu ist für die Mitglieder der Gruppe consul lesbar. |
Siehe auch
exec, export |