Hier ist der Skriptcode, den ich gerade verwende:
getent group $MYGROUP
if [ $? -ne 0 ] ; then
sudo su -c "groupadd $MYGROUP"
fi
sudo su -c "useradd mynewuser -p mypassword -m -g $PRIMARYGRP -G $MYGROUP"
Dieser Ansatz funktioniert gut unter openSuse. Da es jedoch einige Probleme mit dem Benutzerkonto gibt, das es unter Ubuntu erstellt, bitte ich um Hilfe.
- die Terminal-Eingabeaufforderung ist nicht gesetzt (
echo $PS1
gibt nichts zurück) - Die Pfeiltasten und die Tabulatortaste funktionieren im Terminal nicht richtig
- Das Passwort scheint nicht zu funktionieren (obwohl ich immer noch nicht genau weiß, um was es sich handelt)
- Die für diesen neuen Benutzer festgelegten / etc / sudoers-Rechte werden nicht berücksichtigt
Wenn ich stattdessen den Benutzer manuell mit adduser
(anstelle von useradd) erstelle, treten diese Probleme unter Ubuntu nicht auf. Aber ich kann nicht adduser
auf openSuse (afaik) verwenden. Daher benötige ich ein nicht-exklusives Debian-Skript oder eine Methode zum Hinzufügen von Benutzerkonten über mein Bash-Skript, das unter Ubuntu funktioniert (und nicht aufhört, an anderen Distributionen zu arbeiten).
Abschließend möchte ich die Unterschiede zwischen adduser
und verstehen useradd
. Zum Beispiel möchte ich wissen, welches Skeleton-Verzeichnis von verwendet wird, adduser
da dies möglicherweise der Grund dafür useradd
ist, dass es nicht wie erwartet funktioniert (weil ich gerade die Standardeinstellung akzeptiert habe).
Vielen Dank
sudo su -c "cmd arg1 arg2"
ist gleichbedeutend mit sudo cmd arg1 arg2
.
sudo su -c "cmd arg1 arg2"
damit es überall funktioniert, wo ich es zum Arbeiten brauche.
adduser
Ist ein Perl- Skript mehr als 1000 Zeilen lang, so können Sie für die Unterschiede einen Blick auf das Skript werfen.
adduser
aber ich kenne Perl nicht. Das ist also kein guter Ansatz für mich.
man useradd
): useradd ist ein Hilfsprogramm auf niedriger Ebene zum Hinzufügen von Benutzern. Unter Debian sollten Administratoren stattdessen normalerweise adduser (8) verwenden.