Irgendwie habe ich es geschafft, auf meinem Betriebssystem ein passwd für meinen _postgres-Benutzer festzulegen, anstatt es auf die postgres-Rolle zu setzen, die ich als Superuser / Root habe. Wie auch immer, ich habe Probleme damit, dass dieser Benutzer im Kontobereich und im Anmeldebildschirm angezeigt wird, was ich wirklich gerne vermeiden würde. Ich habe einige Dokumente dazu gelesen und das Festlegen des Kennworts *
sollte alles sein, was zur Behebung dieses Problems erforderlich ist. Aber nach mehreren erfolglosen Versuchen, dies mit und ohne dscl zu tun, bin ich an einem Punkt angelangt, an dem ich nicht mehr weiß, was ich tun soll.
Ich hätte nicht gedacht, dass es schwierig werden würde, aber ich vermisse etwas. Wie machst du das?
macos
osx-snow-leopard
passwords
user-accounts
login-screen
googletorp
quelle
quelle
Antworten:
Die einfachste Methode zum Ausblenden von Systembenutzern (wenn ihre Benutzer-ID <500 ist) im Anmeldefenster besteht darin, den folgenden Befehl auszuführen:
Alternativ können Sie nur den Benutzernamen manuell ausblenden, indem Sie ausführen
Gehen Sie wie folgt vor, um den Eintrag "Andere ..." im Anmeldefenster auszublenden:
quelle
Dadurch wird ein Benutzer erstellt, der in sysprefs / Accounts sichtbar ist.
Dadurch wird der Benutzer ausgeblendet. Stellen Sie sicher, dass Sie das "*" angeben, sonst funktioniert es nicht.
BEARBEITEN : Ich habe es versehentlich geschafft, die Situation von googletorp wiederherzustellen, dass ein Benutzer nicht ausgeblendet werden konnte, indem sein Passwort auf "*" gesetzt wurde. Dieses Mal hatte ich einen Benutzer mit dsimport erstellt, wie folgt:
In diesem Befehl wird das * jedoch als ein wörtliches Kennwort mit einem Zeichen von verwendet
*
. Daher erstellt dsimport eine AuthenticationAuthority-Eigenschaft für den Benutzer und setzt die password-Eigenschaft auf den Shadow-Hash von*
(der wie********
bei dscl angezeigt wird) Passwörter). Wenn Sie danach versuchen, das Kennwort mit dscl auf "*" zu setzen, setzen Sie das Kennwort weiterhin auf ein Literal*
, anstatt das Kennwort zu deaktivieren. Die Lösung besteht darin, die unerwünschte Eigenschaft zu löschen und dann das Kennwort zu deaktivieren:Dadurch wird der Benutzer ausgeblendet.
quelle
dscl . -create /Users/test Password \*
Nur für den Fall, dass Sie keine praktikable Lösung gefunden haben (oder jemand anderes diese Frage von Google findet), können Sie die Shell des Nutzers so einstellen,
/usr/bin/false
dass er sich nicht anmelden kann, und sie im Anmeldebildschirm und in den Systemeinstellungen ausblenden. Verwenden Sie dazu die folgende Befehlszeile:Und um die Änderung rückgängig zu machen:
Wo
[username]
ist der Name des Benutzers, den Sie verbergen möchten (_postgres
in Ihrem Fall nehme ich an). Ich weiß nicht, warum ichdscl
zuerst den alten Wert haben will, aber das sagt die Manpage und es funktioniert ganz gut.quelle
sudo -s -u _postgres
von einem Admin-Account aus eine Shell als bekommen_postgres
; Dies funktioniert auch dann, wenn his auf eingestelltUserShell
ist/usr/bin/false
. Außerdem deaktiviert das Setzen des Passworts auf "kein Passwort", wie Sie es versucht haben, auch das Konto?