Linux – Anmeldung für Systembenutzer ermöglichen?

Linux – Anmeldung für Systembenutzer ermöglichen?

Dieser Benutzer wurde mit diesem Befehl erstellt:

sudo adduser --system --home=/opt/user --group user

Aber jetzt möchte ich, dass sich dieser Benutzer anmelden kann. Ich kann dieser Benutzer werden sudo, indem ich , möchte mich aber auch direkt mit einem Passwort anmelden. Ich habe es mit diesem Befehl versucht:

sudo passwd user

Ich kann ein Passwort für den Benutzer hinzufügen. Wenn ich versuche, mich anzumelden, erfolgt die Anmeldung, aber das System wird sofort beendet.

Antwort1

Sie können sich nicht als anmelden, userda es sich um ein Systemkonto handelt, das durch die --systemOption angegeben wird. Systemkonten sind für Daemons oder Dienste, nicht für menschliche Benutzer, und werden daher /bin/falsefür die Login-Shell angegeben. Wenn Sie eingeben grep '^user' /etc/passwd, erhalten Sie etwa Folgendes:

user:x:117:123::/opt/user:/bin/false

Um userdie Anmeldung zu ermöglichen, können Sie usermod verwenden, um die Anmelde-Shell in Bash zu ändern:

usermod -s /bin/bash user

Alternativ können Sie auch /etc/passwdmanuell bearbeiten. Möglicherweise möchten Sie auch einige andere Änderungen an userUID, GID und dem Speicherort des Home-Verzeichnisses vornehmen.

Antwort2

Es kann sein, dass der Benutzer ohne das Flag -m erstellt wurde.

-r, --system
Create a system account.
System users will be created with no aging information in /etc/shadow, and their numeric identifiers are choosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their GID counterparts for the creation of groups).

Note that useradd will not create a home directory for such an user, regardless of the default setting in /etc/login.defs (CREATE_HOME). You have to specify the -m options if you want a home directory for a system account to be created.


-m, --create-home
Create the user's home directory if it does not exist. The files and directories contained in the skeleton directory (which can be defined with the -k option) will be copied to the home directory.
useradd will create the home directory unless CREATE_HOME in /etc/login.defs is set to no.

Bearbeiten: Siehe auchDasAntwort auf eine andere Frage.

Antwort3

klingt, als wäre der Benutzer gesperrt.

usermod -U user

Beachten Sie auch /etc/shadow, dass die Zeile mit dem Benutzer folgendermaßen beginnen muss

 user:$6$SALT...

Wenn die Zeile

 user:!!:..
 user:*:...

dann wird das Konto gesperrt.

verwandte Informationen