Como faço para alterar um shell padrão do usuário no OSX?

31

Qual é a maneira correta do OSX de alterar o shell padrão de um usuário? Quando pesquisei, encontrei várias referências a um aplicativo chamado NetInfo Manager, mas não consegui encontrá-lo no meu sistema. Havia também referências a uma versão de linha de comando chamada niutil que eu não encontrei também.

    
por David Holm 06.06.2009 / 10:09

4 respostas

51

para < = 10.4 - netinfo manager, / users / whoever / shell

para > = 10,5

  1. Ir para Preferências do Sistema - > Contas
  2. Clique no ícone de cadeado para desbloquear o painel de preferências
  3. Clique com o botão direito do mouse (ou clique com a tecla Control pressionada) no usuário e selecione "opções avançadas"
  4. Editar campo de shell de login
por 06.06.2009 / 10:20
33
sudo chsh -s /path/to/shell username

em que shell é o que você deseja para esse usuário. sudo não é necessário se você souber a senha de username .

man chsh

para mais exemplos.

    
por 07.06.2009 / 16:01
9

O NetInfo foi substituído pelo Directory Services (dscl) e pode-se notar o shell padrão para o Mac OS X, já que o 10.3 foi bash. Antes disso, era tcsh.

Se você precisar fazer isso a partir da linha de comando (por exemplo, para push via ARD ou remotamente via SSH), você pode executar:

sudo dscl localhost -change /Local/Default/Users/USERNAME shell OLD_SHELL NEW_SHELL
#In Use:
sudo dscl localhost -change /Local/Default/Users/chealion shell /bin/bash /bin/zsh

Se você não tiver certeza do shell atual, execute:

sudo dscl localhost -read /Local/Default/Users/USERNAME shell

Se o usuário não for um usuário local, o caminho será simplesmente alterado e, se necessário, você alterará localhost para o nome do Open Directory Server. (Supondo que seja executado 10.5).

As informações são armazenadas em .plists (xml) em /private/var/db/dslocal/ - você não quer editar os arquivos plist manualmente, no entanto.

    
por 06.06.2009 / 18:12
7

Para 10.10:

não shell mas UserShell :

sudo dscl localhost -change /Local/Default/Users/USERNAME UserShell /bin/bash /bin/ksh
    
por 25.09.2014 / 17:29

Tags