Uma vez que um amigo meu (que é um usuário experiente do Unix/Linux) me disse que definir a concha da raiz para algo diferente de SH (IE Bash ou ZSH) pode criar problemas, porque algum script pode assumir que o shell é sh e faz algo estranho .
No entanto, acho que o Ubuntu tem conjunto de shell de raiz padrão para bash, e o Gentoo usa Bash também. Alguém pode bugar o mito?
Sim. Se o sistema falhar durante a inicialização, você pode efetuar login no shell raiz. Se você tiver algumas conchas separadas/usr, não pode começar com êxito.
Eu conselho para criar conta toor
(UID 0, gid 0) com shell não padrão, enquanto raiz esquerda com o shell padrão.
Não deve ser um problema.
Arquivos de script de shell codificam explicitamente qual shell eles são executados. É codificado na primeira linha ou outros programas ou scripts executam um shell específico e dão ao script de shell como argumento.
O único programa que posso pensar que usa as informações do shell da conta de usuário (além do processo de login) é o procmail. Realmente engraçado se seu usuário tiver definido como Shell/Bin/Falso no MailServer ... mas você geralmente não executa o Procmail como root.
Outro candidato seria as linhas no crontab da raiz. Eu não sei o que a política de Crond é qual shell usar.
Scripts escritos para a Shell Bourne irá a maior parte do tempo contra o bash ou zsh ou $ foo sem problemas.
Em muitos sistemas Linux não é possível shall original, em vez disso, é muitas vezes um link symlink contra/bin/bash.
Se alguns scripts apenas "assumirem" que a casca é explicitamente, elas devem ser reescritas. Há o mecanismo de Shebang para escolher qual intérprete sua script precisa. Se é o sh, o script deve incluir #!/bin/sh
como a primeira linha.
Sua configuração padrão de shell não deve ser relevante neste contexto.
Eu não acho que mudar a concha da raiz causaria algum problema. Eu pareço lembrar de alguns unices (talvez algumas variantes BSD?) Ter tcsh como o shell padrão para raiz.
Logins de raiz são raros de qualquer maneira. Normalmente, você entraria em sua própria conta e, em seguida, su ou sudo para root.
O que importa é que a concha de raiz deve ter apenas dependências quanto possível, de modo a ser utilizável em um contexto de reparação do sistema. Por exemplo, é uma boa ideia ter uma concha de raiz estaticamente ligada; Algumas distribuições enviam uma versão estaticamente ligada do Bash ou ZSH ou faixa (um shell com muitos utilitários padrão internos). No entanto, isso não é tão importante se o seu sistema puder ser facilmente inicializado a partir de um CD de Rescue ou unidade USB.
O shell de login de um usuário não afeta o processo de inicialização. Você pode definir este shell para o que quiser. Nem todos os sistemas têm bash e eles funcionam bem. Além disso, se for /usr/bin/zsh
Foram instalados errados, todos os shells do sistema devem estar em /bin
. Você não deve, no entanto, mudar /bin/sh
Para apontar para algo diferente do padrão (a menos que você saiba o que você está fazendo) Como muitos scripts têm #!/bin/sh
Que geralmente aponta para Bash, quando deveriam tem #!/bin/bash
Porque eles usam bashisms e outros comportamentos que não funcionam em zsh
ou dash
.
No que diz respeito ao Solaris/Illumos O Solaris Raiz Shell Mini-FAQ Mencione
Algumas sysadmin ainda recomendam contra mudar a concha de raiz em
Sistemas Solaris. Pergunte por que e você pode ser informado de que raiz precisa de um
[.____] Shell estaticamente ligado que não depende da dinâmica
Bibliotecas sob/usr/lib. Isso foi verdade no passado, mas não é
[.____] necessariamente o caso hoje. O Solaris, quando configurado corretamente, é como qualquer outra versão do UNIX e pode suportar qualquer concha que você defina, para root ou qualquer outra conta.
Então, sim, se você estiver usando o Solaris ou Illumos, é bom usar shell além de sh
.
Eu tenho bash como shell padrão para raiz. Eu usei ZSH por algum tempo, mas depois voltou a bash. Qual shell você usa, não importa muito.
É apenas um problema, se mais de uma pessoa tiver acesso root. Nesse caso, você pode selecionar um "denominador comum" que geralmente é bash, como este é o shell mais utilizado.