W jakiś sposób udało mi się ustawić passwd dla mojego użytkownika _postgres w moim systemie operacyjnym zamiast ustawiać go na rolę postgres, którą mam jako superużytkownik / root. W każdym razie od tego czasu zmagam się z tym użytkownikiem, który pojawia się w sekcji konta i ekranie logowania, czego naprawdę chciałbym uniknąć. Przeczytałem o tym kilka dokumentów i ustawienie hasła *
powinno być wszystkim, co jest potrzebne, aby to naprawić. Ale po kilku próbach zrobienia tego z i bez dscl bezskutecznie, doszedłem do punktu, w którym nie wiem już, co robić.
Nie sądziłem, że będzie to nawet trudne, ale najwyraźniej czegoś mi brakuje, więc jak to robisz?
macos
osx-snow-leopard
passwords
user-accounts
login-screen
googletorp
źródło
źródło
Odpowiedzi:
Najłatwiejszą metodą ukrywania użytkowników systemu (jeśli ich ID użytkownika jest <500) w oknie logowania, należy uruchomić następującą komendę:
Alternatywnie możesz ręcznie ukryć tylko nazwę użytkownika, uruchamiając
Aby w razie potrzeby ukryć element „Inne ...” w oknie logowania:
źródło
Spowoduje to utworzenie użytkownika widocznego w sysprefs / Accounts.
Ukrywa to użytkownika. Cytuj „*”, inaczej nie zadziała.
EDYCJA : Przypadkowo udało mi się odtworzyć sytuację googletorp, że nie mogę ukryć użytkownika, ustawiając jego hasło na „*”, i odkryłem, jak to naprawić. Tym razem utworzyłem użytkownika za pomocą dsimport, w następujący sposób:
Ale w tym poleceniu * jest traktowane jako dosłowne
*
jednoznakowe hasło , więc dsimport tworzy dla użytkownika właściwość AuthenticationAuthority i ustawia właściwość hasła na skrót mieszający*
(który pokazuje się jak********
w dscl, jak dla wszystkich Hasła). Następnie próba ustawienia hasła na „*” za pomocą dscl po prostu ustawia hasło na literał*
, zamiast go wyłączać . Rozwiązaniem jest usunięcie niepożądanej właściwości, a następnie wyłączenie hasła:Ukrywa to użytkownika.
źródło
dscl . -create /Users/test Password \*
Na wypadek, gdyby nie znalazłeś realnego rozwiązania (lub gdyby ktoś inny znalazł to pytanie od Google), ustaw powłokę użytkownika, aby
/usr/bin/false
uniemożliwiła mu zalogowanie się i ukrywa go przed ekranem logowania i preferencjami systemowymi. Aby to zrobić, użyj następującego wiersza polecenia:I aby cofnąć zmianę:
Gdzie
[username]
jest nazwa użytkownika, którego chcesz ukryć (_postgres
w twoim przypadku zakładam). Nie wiem, dlaczegodscl
najpierw chce starej wartości, ale tak mówi strona podręcznika i działa całkiem dobrze.źródło
sudo -s -u _postgres
z konta administratora, aby uzyskać powłokę jako_postgres
; zadziała to, nawet jeśli jegoUserShell
ustawiono na/usr/bin/false
. Poza tym, czy ustawienie hasła na „brak hasła”, tak jak próbowałeś, również wyłącza konto?