In OS X ist es möglich, Benutzer ohne Kennwörter zu haben. Wenn Sie sie mit dscl
ihrem Passwort überprüfen, wird angezeigt als *
. Dies wird für Systembenutzer wie Benutzer für Datenbanken wie verwendet mysql
, pgsql
usw. Was ist schön darüber ist , dass diese Nutzer nicht angezeigt nicht auf dem Login - Bildschirm und Sie können sie nicht anmelden , ohne sudo
usw.
Nachdem ich einen solchen Benutzer gelöscht hatte, der einige Dinge ausprobiert hatte, wollte ich es neu erstellen, konnte es aber nicht. Ich könnte es schaffen, einen Benutzer mit einem leeren Passwort zu bekommen, und ich könnte das Passwort auf setzen *
. Aber keiner hatte den gleichen Effekt wie oben, da der Benutzer auf meinem Anmeldebildschirm auftauchte.
Wie legen Sie einen solchen Benutzer an?
useradd
IDs bei 1000 hinzugefügt, und die Login-Manager zeigen keine Benutzer-IDs darunter an, sondern nur alle darüber. Obwohl dies keine Antwort auf diese Frage ist, könnte dies die Lösung des Problems sein. Bitte beachten Sie, dass 1000 willkürlich ist und in Ihrer Distribution niedriger oder höher sein kann. Um das/etc/passwd
Problem zu beheben, ändern Sie einfach den Benutzereintrag in , um eine niedrigere Benutzer- ID zu erhalten. Jetzt muss ich eine ähnliche Frage stellen.Antworten:
Sie können
passwd --delete <username>
nach dem Anlegen des Benutzers mit ausführenadduser
. Danach können Sie sich ohne Eingabe eines Passworts anmelden.quelle
Ein Benutzer in / etc / passwd mit dem Basisverzeichnis von / dev / null und der Shell von / sbin / nologin kann für Sudo-Befehle verwendet werden, kann jedoch beispielsweise nicht angemeldet werden.
aus meiner / etc / passwd
Ich kann mich nur halb daran erinnern, dass dies dazu führt, dass es auch vom XDM-Anmeldebildschirm verschwindet, aber ich verwende XDM nicht mehr, also ist das eine Vermutung :-)
quelle
Sie können verwenden
usermod
, um das Passwort zu deaktivieren. Verwenden Sie!
statt eines*
.Von der Manpage auf usermod:
quelle
Mit
dscl
würde gebenquelle
Ich kann mir über OSX nicht sicher sein, aber unter FreeBSD können Sie Folgendes verwenden:
Der
-
an die-h
Option übergebene Wert gibt an, dasspw
das Kennwortfeld in master.passwd auf gesetzt werden soll*
, um ein Konto ohne Anmeldung zu erstellen. Das Einstellen der Shell ist nicht zwingend erforderlich, vermeidet jedoch eine Shell-Überprüfung von /etc/pw.conf.quelle
Wenn Sie das Kennwortfeld für den Benutzer in der
passwd
Datei leer lassen, funktioniert dies.quelle
Wenn Sie unter Ubuntu arbeiten, können Sie das Kennwort für den Ubuntu-Benutzer in / etc / shadow austauschen. Lesen Sie dazu diesen Artikel:
http://www.psychocats.net/ubuntucat/creating-a-passwordless-account-in-ubuntu/
quelle
Unter Linux benutze ich:
Die nächste Alternative muss plattformübergreifender sein (falls
-r
keine Option verfügbar ist):Hier:
Passwort in / etc / shadow wird auf gesetzt
*
. Ohne wird-p \*
es sein!
Shell wird
/sbin/nologin
(Sie können auch verwenden/bin/false
, aber ich denke, das/bin
kann auf einigen Systemen zu spät gemountet werden). Der Benutzer kann sich also nicht anmelden-d
Legt das Homedir des Benutzers festWICHTIGE NOTIZ
Hier
-r
wird ein Systembenutzer angelegt:Dieses Flag wird zum Erstellen eines Systemkontos verwendet. Dies bedeutet , dass ein Benutzer mit einem
UID
niedrigeren Wert als demUID_MIN
in /etc/login.defs definierten Wert und dessen Kennwort nicht abläuft. Beachten Sie, dass useradd unabhängig von der Standardeinstellung in /etc/login.defs kein Basisverzeichnis für einen solchen Benutzer erstellt . Sie müssen die-m
Option angeben, wenn ein Basisverzeichnis für ein Systemkonto erstellt werden soll. Dies ist eine Option, die von Red Hat hinzugefügt wurde .-r
Auf Ihrem System ist möglicherweise keine Option vorhanden. Um einen Systembenutzer zu erstellen, der nicht auf Ihrem Anmeldebildschirm angezeigt wird, können Sie meines Erachtens die-K
Option verwenden. Etwas wie:-K UID_MIN=100 -K UID_MAX=499
. Sie können folgende Optionen ausprobieren:Sie automatisch zu bestimmen
UID_MAX
, aber ich habe auf OS X. Sie brauchen nicht getestet zu verwendenSYS_UID_MAX
für ,UID_MIN
wenn es in unkommentiert ist /etc/login.defsGleiches gilt für
GID_MAX
undGID_MIN
für die Systemgruppen-ID. (SieheGID_MIN
und wenn nicht kommentiertSYS_GID_MAX
in /etc/login.defs , um als zu verwendenGID_MAX
)quelle