Hallo Marcel,
ich möchte halt nicht
den Benutzernamen ändern sondern die Beschreibung es Benutzers
z.B.:
marcel:x:1043:100:Marcel:/home/de110147:/bin/bash
soll dann:
marcel:x:1043:100:M Freund;21Jahre:/home/de110147:/bin/bash
heißen.
Genau das tut es auch. Im Skript die Ausgabe „$USER heisst jetzt ${NAME}“ ist vielleicht etwas irreführend. Es gibt ja eigentlich zwei „Namen“, einmal der Username, mit dem Du dich anmeldest, also marcel oder mb oder root oder… und das, was Du „Beschreibung des Benutzers“ nennst. Diese Beschreibung ist eigentlich der volle Name des Benutzers, also „Marcel Müller“ oder „Marvin Meier“, und dieser volle Name wird vom Skript geändert.
Um es noch etwas komplizierter zu machen, besteht dieser Teil eigentlich aus fünf Teilen, dem vollen Namen, einer Zimmer-Nr, Tel. Arbeit, Tel. privat und sonstiges. Daher die vielen Kommas bei den realen Benutzern, die andeuten, daß die Felder leer sind, weil das eigentlich keine Rolle mehr spielt oder kaum noch benutzt wird.
Führe das Skript einfach mal aus, und gib bei marcel wie von dir gewünscht
M Freund;21Jahre
ein. Wenn Du dir anschliessend die /etc/passwd betrachtest, siehst Du, daß die betreffende Zeile dann tatsächlich
marcel:x:1043:100:M Freund;21Jahre:/home/de110147:/bin/bash
heisst. Zumindest bei mir funktioniert das.
Aber wie gesagt, ist das Skript nur ein Ansatz, weil manches nicht abgeprüft wird, z.B. dürfen keine Kontrollzeichen, Kommata, Doppelpunkte und Gleichheitszeichen in dem betreffenden Feld vorkommen. Das wird von mir nicht geprüft.
Und zweitens macht das ganze nicht viel Sinn, weil Du eigentlich chfn auch so aufrufen kannst (und auch sollst), um in der passwd die Werte zu ändern.
Gib z.B. mal
chfn marcel
ein (wenn marcel dein Login-Name ist). Probiere das mal aus.
Viele Grüße
Marvin