Como posso suspender temporariamente alguns usuários, ocultando-os na tela de login?

9

Eu tenho que gerenciar uma estação de trabalho OSX compartilhada que é usada por um elenco rotativo de caracteres ao longo do ano. A tela de login rapidamente se torna complicada quando os usuários que nem ficam por um tempo são listados e desordenando a rolagem horizontal desajeitada.

Como posso limpar a tela de logon sem precisar usar contas de nuking que precisariam ser recriadas posteriormente?

Além disso, quando alguém fica fora por um longo período, eu gostaria que sua conta fosse bloqueada para que não possa ser usada localmente ou remotamente, mas não quero usar senhas de usuários, quando elas voltarem, uma ação rápida do administrador deve ser eles de volta ao sistema novamente?

Caleb
fonte

Respostas:

17

Isso pode ser feito usando um recurso do sistema de login baseado em unix que designa um programa para ser executado com êxito no login. Normalmente, os usuários no OSX têm seu shell definido como /bin/bash. A janela de login do sistema operacional garantirá que as pessoas tenham um shell utilizável antes de mostrá-las na tela de login.

Você pode desativar um usuário - revogando a capacidade de logon e a aparência na lista de usuários da janela de logon - alterando o shell para /usr/bin/false.

As configurações são encontradas em Preferências do sistema -> Usuários e grupos -> (Desbloqueie as configurações, se necessário) -> Clique com o botão direito do mouse em um usuário -> Opções avançadas -> Shell de login .

Reativar o usuário é tão simples quanto configurá-lo novamente para /bin/bash.

Adendo: Nas versões posteriores do OS-X, a restauração de usuários desativados dessa maneira fica um pouco mais complicada.

  • A partir da versão 10.7, os usuários também não aparecem no painel de administração. Você pode restaurá-los manualmente usando a configuração de seu shell usando o chshcomando Unix padrão em um terminal:

    sudo chsh <username> /bin/bash
  • A partir do 10.9, o chshutilitário também não está disponível, mas você pode configurar o shell usando um utilitário especial OSX no terminal:

    sudo chpass -s /bin/bash <username>
Caleb
fonte
Como configuro isso de volta para / bin / bash? O usuário desativado não é mais mostrado na lista de usuários da janela de login.
Will Sargent
@WillSargent É claro que eles não aparecem na janela de login - foi isso que você desativou -, mas ainda devem aparecer no widget de usuários administradores do sistema.
Caleb
Eu usei "sudo chsh <nome do usuário>" na linha de comando. :-)
Will Sargent
Eu tentei esse processo e o usuário não está mais na lista de administração de usuários. Como posso reativar o usuário? Simplesmente faz com que o usuário desapareça da tela de login e da administração. Esta é uma solução extremamente ruim e não é gerenciável com as informações fornecidas acima. Volto a simplesmente fornecer uma opção "Desativar usuário" nas telas de administração do usuário. Não
11
Tente sudo chsh <username> /bin/bashou poste uma pergunta sua perguntando o que aconteceu em 10.7 com relação a isso (embora eu acredite que seja o mesmo).
Caleb
2

A resposta de Caleb está correta e oculta esses usuários da janela de login.

No entanto, pelo menos na minha instalação do OSX 10.9 Mavericks, esses usuários também desaparecem do painel de administração do sistema, tornando impossível clicá-los novamente. Além disso, usar chshcomo solução alternativa também não ajuda, pois não está disponível no 10.9.

Consegui trazê-los de volta usando:

sudo chpass -s /bin/bash <username>

na linha de comando.

Holger
fonte