Wie deaktiviere ich ein Konto vollständig? passwd -l
ermöglicht es niemandem, sich mit einem Kennwort bei einem Konto anzumelden, Sie können sich jedoch weiterhin über private / öffentliche Schlüssel anmelden. Wie würde ich den Account komplett deaktivieren? Als Quickfix habe ich die Datei in umbenannt authorized_keys_lockme
. Gibt es eine andere Art und Weise?
users
account-restrictions
Braiam
quelle
quelle
Antworten:
Der richtige Weg ist laut
usermod(8)
:(Tatsächlich kann das Argument "to"
--expiredate
ein beliebiges Datum vor dem aktuellen Datum im Format seinYYYY-MM-DD
.)Erläuterung:
--lock
Sperrt das Passwort des Benutzers. Eine Anmeldung mit anderen Methoden (z. B. öffentlichem Schlüssel) ist jedoch weiterhin möglich.--expiredate YYYY-MM-DD
Deaktiviert das Konto zum angegebenen Datum. Lautman shadow 5
1970-01-01 ist ein mehrdeutiger Wert und darf nicht verwendet werden.Ich habe das auf meiner Maschine getestet. Nach Ausführung dieses Befehls ist weder eine Anmeldung mit Kennwort noch mit einem öffentlichen Schlüssel möglich.
Um das Konto zu einem späteren Zeitpunkt wieder zu aktivieren, können Sie Folgendes ausführen:
quelle
usermod --unlock --expiredate '' username
wird es tun.usermod
sagt:Note: if you wish to lock the account (not only access with a password), you should also set the EXPIRE_DATE to 1.
--expiredate 1
reicht das allein nicht aus?sudo su username
aber mit einem anderen Account zu funktionieren.Sperren Sie das Passwort und ändern Sie die Shell auf
/bin/nologin
.(Oder genauer gesagt
sudo usermod -L -s /bin/nologin username
.)quelle
ssh username@hostname /bin/bash
wird der Benutzer unabhängig von der Standard-Shell eine Bash-Eingabeaufforderung erhalten.sudo chsh -s /bin/nologin
wäre besser als bearbeiten/etc/passwd
von hand. Auf einigen Systemen ist es auch so/sbin/nologin
.Hier ist ein anderer einfacher Weg. Sie können festlegen, dass das Benutzerkonto abgelaufen ist. Dadurch werden sowohl kennwortbasierte als auch ssh-schlüsselbasierte Anmeldungen für das Konto verhindert, das Kennwort wird jedoch nicht berührt.
So sperren Sie das Konto:
Das Benutzerkonto 'Benutzername' wird auf dem System gesperrt. Führen Sie die folgenden Schritte aus, um das Benutzerkonto wieder zu aktivieren.
So entsperren Sie das Konto:
Das Benutzerkonto "Benutzername" wird auf Ihrem System mit demselben Kennwort wie zuvor wieder aktiviert . Die Binärdatei 'chage' ist Teil des Pakets shadow-utils unter Red Hat Linux oder des Pakets passwd unter Debian Linux.
quelle
Ich habe nicht genügend Repräsentanten, um die Antwort von Legate zu kommentieren, aber ich wollte mitteilen, dass diese Antwort uns bei einem anderen Anwendungsfall geholfen hat:
1.) Bei dem betreffenden Konto handelt es sich um ein lokales Dienstkonto, auf dem eine Anwendung ausgeführt wird, und nicht um ein Endbenutzerkonto.
2.) Endbenutzer ssh in sich selbst und
sudo /bin/su <user>
um Benutzer zu werden und die Anwendung aufgrund einer Audit-Trail-Anforderung zu verwalten, dass das Dienstkonto keine direkte Anmeldefähigkeit haben kann.3.) Das Dienstkonto muss eine gültige Shell haben (
/bin/bash
nicht/sbin/nologin
), da eine Enterprise Scheduling Platform (Agent wird lokal als Root ausgeführt) in der Lagesu - <user>
und nicht in dersu -s /bin/bash <user>
Lage sein muss, dass eine vollständige Shell funktioniert, und Jobs remote ausgeführt werden müssen für größere Batch-Vorgänge, die mehrere Server und Datenbanken umfassen.Also ...
passwd -l <user>
Erfüllt keine Einschränkungen, da die Authentifizierung mit öffentlichem Schlüssel PAM umgeht und dennoch die direkte Anmeldung ermöglicht.
usermod -s /sbin/nologin <user>
Erfüllt keine Einschränkungen, da der Unternehmens-Scheduler abbricht
usermod --lock --expiredate 1970-01-01 <user>
Das ist unser Gewinner. Die Remote-Anmeldung ist deaktiviert, Root kann sie jedoch weiterhin ausführen
su <user>
, ebenso wie andere Benutzer über,sudo
damit der Scheduler ordnungsgemäß funktioniert und berechtigte Endbenutzer bei Bedarf das Zieldienstkonto werden können.Danke für die Lösung!
quelle
Zum vollständigen Löschen verwenden Sie
userdel
.Bitte beachten Sie, dass beim Löschen eines Kontos die Gefahr besteht, dass die Benutzer-ID weiterhin im Dateisystem verwendet wird und ein neuer Benutzer den Besitz dieser Dateien erbt, wenn er unter derselben Benutzer-ID eingeht.
Sie möchten den Eigentümer aller Dateien ändern, deren Eigentümer der gelöschte Benutzer ist.
Wenn Sie den Benutzer später wieder hinzufügen möchten, speichern Sie seine Zeilen von
/etc/passwd
(und unter Solaris/etc/shadow
) in temporären Dateien wie/etc/passwd_deleted
.Auf diese Weise können Sie beim erneuten Hinzufügen dieselbe Benutzer-ID und dasselbe Kennwort verwenden (das in einer der oben genannten Dateien verschlüsselt ist).
Haftungsausschluss: Ich habe UNIX selbst gelernt, daher wäre ich nicht überrascht, wenn es eine bessere Möglichkeit gibt, den Benutzer vorübergehend zu deaktivieren. Tatsächlich weiß ich nicht einmal, um welche privaten / öffentlichen Schlüssel es sich handelt. Ich bin mir auch sicher, dass es einen
find
Befehl gibt, mit dem die Dateien mit dieser Besitzer-Benutzer-ID gesucht werden könnenquelle
Hat jemand versucht, es über ssh_config zu tun? Vielleicht könnte dies helfen http://www.techrepublic.com/blog/opensource/set-up-user-accounts-quickly-and-securely/86
quelle