[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bitte newgrp (1) hinnehmen



Hallo Helge und Mitlesende,

Helge Kreutzmann schrieb am 22. Januar 2023

> On Sun, Jan 22, 2023 at 05:38:11PM +0100, Markus Hiereth wrote:

> > hier die Zeichenketten zur Handbuchseite newgrp (1) aus dem
> > Shadow-Projekt. Teilweise sind sie unverständlich, auch das Testen
> > erbrachte keine völlige Klarheit. Im Gegenteil nutzt newgrp zum
> > Passwortvergleich den Inhalt von /etc/groups, obwohl die Autoren
> > schreiben, /etc/gshadow werde dazu verwendet.
 
> Danke fürs kritische prüfen und testen.


Für mich war diese Zeichenkette

#: newgrp.1.xml:66(refpurpose)
msgid "log in to a new group"
msgstr "eine weitere Gruppenidentität annehmen"

doch noch nicht richtig übersetzt, daher

s
/eine weitere Gruppenidentität annehmen
/sich mit einer anderen Gruppenzugehörigkeit anmelden.

Ich habe als Verbesserungshinweis für die Autoren etwas entsprechendes
eingefügt,

s/log in to a new group/log in with another primary group

weil id (1) erweist, dass die primäre Gruppenzuordnung von newgrp
betroffen ist.




> > #MH120 Replaces the new group the group that was the primary group before?
> > #The output of the command groups shows the new group first within the list of memberships 
> > #MH122: change a GID and the fact that a user has a set of memberships in
> > # implies that this command allows a user to replace his own primary group with another one
> > # In this case, it should be mentioned explicitely:
> > # s/current group ID/current primary group ID
> > # Mit tester1 und
> > # der Gruppe users mit Passworteintrag in gshadow ließ sich das 
> > # hier nicht klären
> > #: newgrp.1.xml:78(para)
> > msgid ""
> > "The <command>newgrp</command> command is used to change the current group ID "
> > "during a login session. If the optional <option>-</option> flag is given, "
> > "the user's environment will be reinitialized as though the user had logged "
> > "in, otherwise the current environment, including current working directory, "
> > "remains unchanged."
> > msgstr ""
> > "Mit dem Befehl <command>newgrp</command> kann während einer Sitzung "
> > "die Gruppenkennung geändert werden. Wenn zusätzlich der "
> > "Schalter <option>-</option> angegeben wird, wird die Benutzerumgebung neu "
> > "gestartet, und zwar, als ob sich der Benutzer neu angemeldet hätte. "
> > "Anderenfalls bleibt die aktuelle Umgebung einschließlich des aktuellen "
> > "Arbeitsverzeichnisses unverändert."

> gestartet ??? eingerichtet

übernommen


> > #MH123 Why does the attribute "real" appears with group ID?
> > # According to SH 2022-02-19, real/effective GIDs and primary/supplementary groups are
> > # diffenent concepts
> > # The counterpart is effective group that might be entered. See and refer to sg, newgrp
> > # and id(1) from coreutils. id(1) from shadow-utils was apparenty ignored when creating
> > # the message catalogue  
> > #MH125 The third phrase just produces confusion, probably due to missing marks
> > # (comma, dot, semicolon, ...)
> > #: newgrp.1.xml:86(para)
> > msgid ""
> > "<command>newgrp</command> changes the current real group ID to the named "
> > "group, or to the default group listed in <filename>/etc/passwd</filename> if "
> > "no group name is given. <command>newgrp</command> also tries to add the "
> > "group to the user groupset. If not root, the user will be prompted for a "
> > "password if she does not have a password (in <filename>/etc/shadow</"
> > "filename> if this user has an entry in the shadowed password file, or in "
> > "<filename>/etc/passwd</filename> otherwise) and the group does, or if the "
> > "user is not listed as a member and the group has a password. The user will "
> > "be denied access if the group password is empty and the user is not listed "
> > "as a member."
> > msgstr ""
> > "<command>newgrp</command> wechselt von der momentanen tatsächlichen ("real") "
> > "Gruppenkennung zu der angegebenen Gruppe. Ohne Gruppennamen wird zu der "
> > "Gruppe gewechselt, die in <filename>/etc/passwd</filename> für den Benutzer "
> > "hinterlegt ist. Zudem versucht <command>newgrp</command>, die Gruppe den "
> > "Gruppenzugehörigkeiten des Benutzers hinzuzufügen. Der Befehl erwartet die "
> > "Eingabe eines Passworts, wenn der Benutzer nicht Systemadministrator ist. "
> > "[...]"
> > "Der Zugang wird dem Benutzer "
> > "verweigert, wenn die Gruppe kein Passwort hat und der Benutzer nicht als "
> > "Gruppenmitglied gelistet ist."
> 
> Ist die Zeichenkette noch unscharf (»fuzzy«)?

Sie war es nicht. Der Originalstring hat sich auch nicht geändert. Das
Unheil brachte ich über uns, weil ich weder das Original, noch die
wortgetreue Übersetzung von Simon nachvollziehen konnte und meine
Testbefunde ebenfalls weder mit dem mit dem Original und noch der
Übersetzung übereinstimmten.

Das tun sie auch jetzt nicht. Gerade habe ich in /etc/group und
/etc/gshadow für eine Gruppe tester3 alles entfernt, was als
verschlüsseltes Passwort gesehen werden kann beziehungsweise was sonst
Bedeutung trägt (x als Verweis auf einen gshadow-Eintrag, ! als
Sperre) Trotzdem fragte newgrp nach einem Passwort und lehnte
irgendwelche Eingaben, auch leere ab.

Wie ist denn nun die Struktur? So:

 If not root, the user will be prompted for a password
 Fall 1  if she does not have a password (in <filename>/etc/shadow</filename>
 Fall 2  if this user
 Fall 2a  has an entry in the shadowed password file
 Fall 2b  or in <filename>/etc/passwd</filename> otherwise)
 Fall 2 and the group does,
 Fall 3 or if the user is not listed as a member and the group has a password. 

Dann stimmt die Klammersetzung nicht und müsste so sein:

 If not root, the user will be prompted for a password
 Fall 1  if she does not have a password (in <filename>/etc/shadow</filename>)
 Fall 2  if this user
 Fall 2a  has an entry (in the shadowed password file
 Fall 2b  or in <filename>/etc/passwd</filename> otherwise)
 Fall 2 and the group does,
 Fall 3 or if the user is not listed as a member and the group has a password. 


 
> Ab »Der Befehl erwartet« würde ich es wie folgt übersetzen (bitte auf
> Deine Terminologie anpassen):
> 
> Wenn der Benutzer nicht der Systemverwalter ist, dann erwartet der
> Befehl die Eingabe eines Passworts, falls er kein Passwort hat (in
> <filename>/etc/shadow</> "filename>, falls der Benutzer einen Eintrag
> in der geschützten Passwortdatei hat oder andernfalls in
> <filename>/etc/passwd</filename>) aber die Gruppe eines hat oder falls
> der Benutzer nicht als Mitglied der Gruppe aufgeführt ist und die
> Gruppe über ein Passwort verfügt. 

Ich würde das so einfügen, sobald wir uns über die Struktur einig
sind, d.h. mit entsprechend gesetzten Klammern.


> // Das kann auch noch weiter aufgedröselt werden: Falls ??? ist, wird in
> zwei Fällen nach der Eingabe eines Passworts gefragt: < erster Fall >
> <zweiter Fall >

Zudem gehören bei so einem Absatz die Fälle und Unterfälle in der Tat
orientierungshalber markiert, Fall1, Fall2a, ...

 
> Rest des Absatzes: Dem Benutzer wird der Zugang verweigert, falls
> das Gruppenpasswortr leer ist und der Benutzer nicht als Mitglied
> aufgeführt ist.


Wörtlich mag Deine Übersetzung stimmen. Aber hier gemeint sind leere
Passwortfelder und nicht ein leeres Passwort. Komplett leere
Passwortfelder führen dazu, dass eine Passwortabfrage ausbleibt. Das
ist so ein Fall, wo Fachkundige mit der Dokumentation klarkommen und
Neulinge verwirrt werden, und zwar, weil im Ursache-Wirkungs-Geflechte
nicht klar sondern wischiwaschi dargestellt werden.

                                ***

Ich bezweifle stark, dass, was das Mühsal, das wir uns mit dieser
Handbuchseite auferlegen, von den Entwicklern honoriert wird und den
deutschen Benutzern in irgendeiner Weise hilft. Meines Erachtens
gehört das Kommando newgrp der Einfachheit halber aus dem Verkehr
gezogen. In sg scheint eine Alternative direkt verfügbar zu sein.

Viele Grüße
Markus


Reply to: