it-swarm.com.de

Deaktivieren Sie die Anmeldung eines Benutzers, ohne das Konto zu deaktivieren

Angenommen, ich erstelle einen Benutzer mit dem Namen "bogus" mit dem Befehl adduser. Wie kann ich sicherstellen, dass dieser Benutzer KEINE praktikable Anmeldeoption ist, ohne das Konto zu deaktivieren? Kurz gesagt, ich möchte, dass das Konto über su - bogus Zugänglich ist, aber ich möchte nicht, dass es über eine reguläre Anmeldeaufforderung zugänglich ist.

Beim Durchsuchen muss ich anscheinend das Passwort dieses Benutzers deaktivieren, aber passwd -d bogus Hat nicht geholfen. Tatsächlich machte es die Sache noch schlimmer, weil ich mich jetzt bei gefälscht anmelden konnte, ohne ein Passwort einzugeben.

Gibt es eine Möglichkeit, reguläre Anmeldungen für ein bestimmtes Konto zu deaktivieren?

Hinweis: Um ganz klar zu sein, ich weiß, wie man einen Benutzer aus den Menüoptionen von grafischen Anmeldebildschirmen wie gdm entfernt, aber diese Methoden verbergen einfach das Konto, ohne die Anmeldung tatsächlich zu deaktivieren. Ich suche nach einer Möglichkeit, dies zu tun Deaktivieren Sie die reguläre Anmeldung vollständig, einschließlich Textmodus.

92
Malabarba
passwd -l user

ist was du willst.

Dadurch wird das Benutzerkonto gesperrt. Aber du wirst es trotzdem können

su - user

aber du musst su - user als root.

Alternativ können Sie dasselbe erreichen, indem Sie dem Kennwort des Benutzers in ! Ein /etc/shadow Vorstellen (dies ist alles, was passwd -l Hinter den Kulissen tut). Und passwd -u Wird dies rückgängig machen.

105
Chad Feller

Die Manpage von passwd(1) sagt über passwd -l:

Beachten Sie, dass das Konto dadurch nicht deaktiviert wird. Der Benutzer kann sich möglicherweise weiterhin mit einem anderen Authentifizierungstoken (z. B. einem SSH-Schlüssel) anmelden. Um das Konto zu deaktivieren, sollten Administratoren usermod --expiredate 1 verwenden (dies setzt das Ablaufdatum des Kontos auf den 2. Januar 1970).

Damit

usermod --expiredate 1 [LOGIN]

scheint mir der richtige Weg zu sein, um ein Konto zu deaktivieren, das ein Benutzer nicht mehr verwenden kann (z. B. weil er das Unternehmen verlassen hat).

39

Es gibt zwei Methoden, um zu verhindern, dass sich ein Benutzer anmelden kann:

  1. sie können den Benutzer sperren, indem Sie /etc/passwd bearbeiten.
  2. durch direktes Ausgeben des Befehls passwd mit dem Schalter -l

Im zweiten Fall kann sich der Benutzer mit einem anderen Authentifizierungstoken (z. B. einem SSH-Schlüssel) anmelden.

Methode 1

  1. Finden Sie heraus, wo sich Nologin befindet:/bin/nologin oder/bin/sbin/nologin
  2. Öffnen Sie ein Terminal und melden Sie sich als root an
  3. Geben Sie vi /etc/passwd Ein.

Jetzt befinden Sie sich in der Datei passwd Ins um die Datei zu bearbeiten.

Ändern Sie die folgende Zeile mit der Option nologin (/bin/bash Bedeutet, dass sich der Benutzer anmelden kann).

root:x:0:0:root:/root:/bin/bash

dazu. nologin bedeutet, dass der Benutzer sich nicht anmelden kann.

root:x:0:0:root:/root:/bin/nologin

(oder mit/bin/sbin/nologin)

  1. Schließen Sie die vi Esc:wq

Methode 2

So sperren Sie den Benutzer: passwd -l username

So entsperren Sie den Benutzer: passwd -u username

28
Mansur Ul Hasan

Es ist eine recht einfache Aufgabe, einfach einige Änderungen in der Datei /etc/passwd Vorzunehmen.

Sie müssen lediglich die Shell ändern, die im Allgemeinen standardmäßig /bin/bash Ist. Wenn Sie sich mit dieser Shell anmelden können, ändern Sie sie in /bin/nologin Oder /bin/false. Es ist ratsam, es in /bin/nologin Zu ändern, da /bin/false Veraltet ist.

7

Einstellen /bin/false als Shell in /etc/passwd

4
danadam

Wenn wir den Benutzer mit dem Befehl passwd -l user Sperren, wird "!!" In der Datei /etc/shadow Angezeigt. Wir können zwar weiterhin vom Root-Konto zu einer Benutzer-Shell wechseln, aber nicht von anderen normalen Benutzer-Login-Shell zu einem Benutzerkonto wechseln.

Wir können das Konto auch deaktivieren, indem wir /bin/nologin Oder /bin/false In die Datei /etc/passwd Geben. Daher kann sich der Benutzer möglicherweise nicht anmelden.

0
Sushil Musande