Existe uma razão para não executar o bash como root?

0

Acabei de notar que no shell do OS X 10.6.4 root está definido como /bin/sh . Existe algum problema de segurança ou algo com o Bash em execução?

    
por Chas. Owens 18.06.2010 / 17:40

4 respostas

2

Acredito que, por razões de compatibilidade com o Unix, o shell raiz padrão seja / bin / sh.

Veja link

Em um ponto, / bin / sh era um shell zsh, eu acredito. A Apple mudou para o bash porque o zsh não era compatível com POSIX ou algo assim.

EDITAR:

O código fonte Makefile , mostrando que / bin / sh é criado a partir da origem do bash .

EDIT # 2:

Entediado, eu verifiquei. Parece que o Mac OS X 10.1.5 foi a última versão a usar zsh para / bin / sh . Foi alterado para bash em 10.2.

    
por 18.06.2010 / 18:08
5

O Ubuntu usa o dash como o shell padrão do sistema para velocidade em vez de sh. Eu acho que se é realmente sh, então é provavelmente a mesma razão.

Há boas razões aqui porque o bash não é realmente a melhor escolha como shell padrão do sistema: link

    
por 18.06.2010 / 17:57
3

Não é o Bash / bin / sh?

Faça um 'ls -lisa' em / bin. Então faça um './sh -version' no diretório e sh irá se identificar como o GNU bash.

    
por 18.06.2010 / 17:46
0

A configuração do shell de logon / interativo do root em /bin/bash não afeta os scripts de shell que possuem #!/bin/sh como sua linha shebang. Para esses scripts, qualquer arquivo que atue como /bin/sh , seja um executável autônomo ou um link simbólico ou link físico, será usado para interpretar esse script. Da mesma forma, os scripts são executados a partir da linha de comando desta maneira: sh script .

É perfeitamente correto configurar o shell interativo do usuário root como / bin / bash.

    
por 18.06.2010 / 20:41