De alguma forma, consegui definir uma senha para meu usuário _postgres no meu sistema operacional, em vez de defini-la na função postgres que tenho como superusuário / raiz. De qualquer forma, desde então, tenho lutado com esse usuário que aparece na seção da conta e na tela de login, o que eu realmente gostaria de evitar. Eu li alguns documentos sobre isso e definir a senha como *
deve ser tudo o que é necessário para corrigir isso. Mas, após várias tentativas de fazer isso com e sem dscl sem sucesso, cheguei a um ponto em que não sei mais o que fazer.
Eu não pensei que seria difícil fazer isso, mas claramente estou perdendo alguma coisa, então como você faz isso?
macos
osx-snow-leopard
passwords
user-accounts
login-screen
googletorp
fonte
fonte
Respostas:
O método mais fácil para ocultar os usuários do sistema (se o ID do usuário for <500) na janela de login é executar o seguinte comando:
Como alternativa, você pode ocultar manualmente apenas o nome de usuário executando
Para ocultar o item 'Outros ...' da janela de login, se necessário:
fonte
Isso cria um usuário visível em sysprefs / Accounts.
Isso oculta o usuário. Certifique-se de citar o "*" ou ele não funcionará.
EDIT : acidentalmente consegui recriar a situação do googletorp de não conseguir ocultar um usuário definindo sua senha como "*" e descobri como corrigi-lo. Dessa vez, eu criei um usuário usando o dsimport, assim:
Mas nesse comando, o * é usado para representar uma senha literal de um caractere de
*
e, portanto, o dsimport cria uma propriedade AuthenticationAuthority para o usuário e define a propriedade da senha como o hash de sombra de*
(que aparece como********
no dscl, como para todos os senhas). Depois disso, tentar definir a senha como "*" usando dscl apenas define a senha como literal*
, em vez de desabilitar a senha. A solução é excluir a propriedade indesejada e desabilitar a senha:Isso oculta o usuário.
fonte
dscl . -create /Users/test Password \*
Caso você não tenha encontrado uma solução viável (ou caso alguém encontre essa pergunta do Google), definir o shell do usuário para
/usr/bin/false
impedir que ele faça login e ocultá-lo na tela de login e nas preferências do sistema. Para fazer isso, use a seguinte linha de comando:E para reverter a mudança:
Onde
[username]
está o nome do usuário que você deseja ocultar (_postgres
no seu caso, eu suponho). Não sei por quedscl
quer o valor antigo primeiro, mas é o que diz a página de manual e funciona muito bem.fonte
sudo -s -u _postgres
partir de uma conta de administrador para obter um shell como_postgres
; isso funcionará mesmo se o deleUserShell
estiver definido como/usr/bin/false
. Além disso, não definir a senha como "sem senha", como você tentou, também desativa a conta?