Angenommen, ich erstelle mit dem adduser
Befehl einen Benutzer namens "bogus" . Wie kann ich sicherstellen, dass dieser Benutzer KEINE brauchbare Anmeldeoption ist, ohne das Konto zu deaktivieren? Kurz gesagt, ich möchte, dass das Konto über erreichbar ist su - bogus
, aber ich möchte nicht, dass es über eine reguläre Anmeldeaufforderung erreichbar ist.
Beim Durchsuchen muss ich anscheinend das Passwort dieses Benutzers deaktivieren, aber das passwd -d bogus
hat nicht geholfen. In der Tat machte es die Sache noch schlimmer, weil ich mich jetzt bei fälschlicherweise anmelden konnte, ohne überhaupt ein Passwort einzugeben.
Gibt es eine Möglichkeit, reguläre Anmeldungen für ein bestimmtes Konto zu deaktivieren?
Hinweis: Um 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, die reguläre Anmeldung vollständig zu deaktivieren, einschließlich Textmodus.
quelle
-d
ist die Flagge, um das Passwort zu löschen. Das ist etwas anderes als das Deaktivieren (als Sperren bezeichnet, siehe Tschads Antwort).Antworten:
ist was du willst.
Dadurch wird das Benutzerkonto gesperrt. Aber du wirst immer noch dazu in der Lage sein
aber du musst
su - user
als root.Alternativ können Sie dasselbe tun, indem Sie
!
dem Kennwort des Benutzers in ein voranstellen/etc/shadow
(dies geschieht allespasswd -l
hinter den Kulissen). Undpasswd -u
wird dies rückgängig machen.quelle
passwd -l
Sie diese Option verwenden, sollten Sie sich darüber im Klaren sein, dass sich der Benutzer mit einem anderen Authentifizierungstoken (z. B. einem SSH-Schlüssel) anmelden kann.--disabled-password
Option füradduser
? Erzielt das Erstellen eines Benutzers ohne diesen Benutzer--disabled-password
und das anschließende Ausführenpasswd -l
auf diesem Benutzer dasselbe Ergebnis wie das Ausführenadduser
mit diesem Benutzer--disabled-password
?Die Manpage von
passwd(1)
sagt überpasswd -l
:Damit
scheint mir die richtige Möglichkeit zu sein, ein Benutzerkonto zu deaktivieren, das ein Benutzer nicht mehr verwenden kann (z. B. weil er die Firma verlassen hat).
quelle
passwd -l
diessh
Verbindung für einen Benutzer undusermod --expiredate 1
nicht!passwd -l
werdenssh
Verbindungen für einen Benutzer nicht mehr blockiert undusermod --expiredate 1 user
blockiert. Per könnenman passwd
Sie auch verwendenchage -E 0 user
, um einen Benutzer zu blockieren. Nach der Bewerbungusermod
oderchage
ich kannsudo su user
usermod --expiredate 0 [LOGIN]
funktioniert auch, es setzt das Ablaufdatum auf den 1. Januar 1970, während eine 1 dies auf den 2. Januar 1970 setzt.Es gibt zwei Methoden, um zu verhindern, dass sich ein Benutzer anmelden kann:
/etc/passwd
passwd
Befehls mit dem-l
SchalterIm zweiten Fall kann sich der Benutzer mit einem anderen Authentifizierungstoken (z. B. einem SSH-Schlüssel) anmelden.
Methode 1
vi /etc/passwd
Jetzt sind Sie in der
passwd
Dateipresse Ins, um die Datei zu bearbeiten.Ändern Sie die folgende Zeile mit der
nologin
Option (/bin/bash
bedeutet, dass sich der Benutzer anmelden kann).dazu.
nologin
bedeutet, dass der Benutzer sich nicht anmelden kann.(oder mit / bin / sbin / nologin)
Methode # 2
So sperren Sie den Benutzer:
passwd -l username
So entsperren Sie den Benutzer:
passwd -u username
quelle
/usr/sbin/nologin
statt/bin/nologin
.Es ist ganz einfach, einige Änderungen an der
/etc/passwd
Datei vorzunehmen .Sie müssen lediglich die Shell ändern, was in der Regel standardmäßig der
/bin/bash
Fall ist, dh Sie können sich mit dieser Shell anmelden und sie in/bin/nologin
oder ändern/bin/false
. Es ist ratsam, dies zu ändern,/bin/nologin
da/bin/false
es veraltet ist.quelle
Stellen Sie
/bin/false
als eine Muschel in/etc/passwd
quelle
/bin/false
, verhindert man, dass su als dieser Benutzer verwendet wird. Darüber hinaus/bin/false
erzeugt using weder einen Fehler noch einen anderen Hinweis darauf, was gerade schief gelaufen ist - in Fällen, in denen verhindert werden soll, dass auch su verwendet wird, um eine Shell als dieser Benutzer zu erhalten, sollte die Shell in die geändert werden,/sbin/nologin
die einen Fehler erzeugt.su
ist immer noch möglich , für Benutzer mit/bin/false
Schalen inpasswd
- nur die Option--shell
:su - --shell /bin/sh bogus
./usr/sbin/nologin
hat den gleichen Effekt wie/bin/false
, zeigt aber auch eine nützliche Informationsmeldung an.Wenn wir den Benutzer mit dem
passwd -l user
Befehl sperren , wird "!!
" in der/etc/shadow
Datei angezeigt . Es ist jedoch weiterhin möglich, vom Root-Konto zu einer Benutzer-Shell zu wechseln, jedoch nicht von einer anderen normalen Benutzer-Anmeldeshell zum Benutzerkonto.Wir können das Konto auch deaktivieren, indem wir
/bin/nologin
oder/bin/false
in einer/etc/passwd
Datei bereitstellen . Der Benutzer kann sich möglicherweise nicht anmelden.quelle
Sie können den Befehl verwenden
quelle