Como tornar o sudo com shell POSIX melhor?

0

Eu fiz alterações no meu sistema Arch Linux x86-64 onde executo bash exclusivamente através do que eu acho que é o modo POSIX, usando /bin/sh (linkado para '/ bin / bash') como meu shell de login e em vez de colocando coisas em /etc/profile eu defini ENV=/etc/shrc no meu /etc/environment conforme o manual do Bash, para que ele execute o arquivo /etc/shrc na inicialização, onde todos os meus aliases, prompt e coisas semelhantes acontecem.

Basicamente, eu queria abandonar completamente os recursos específicos do Bash, incluindo o /etc/profile e os amigos.

O problema surgiu entretanto, onde ao executar sudo , não há ENV variable, como sudo aparentemente redefinir o ambiente (seja após analisar /etc/environment ou sem fazer isso) e, portanto, todos os meus aliases e as coisas se foram. sudo -i faz o mesmo, basicamente - não é ENV .

Devo considerar isso benéfico para a segurança do sistema ou devo fazer algo sobre isso, como tornar sudo preserve ENV variable?

Para adicionar a esse problema, su - (mas não su ) também não possui ENV e, portanto, todo o material /etc/shrc . Então talvez isso não seja apenas sudo problema, afinal? Bash manpage não é específico sobre isso, eu acho - ele simplesmente diz "Quando invocado como um shell interativo com o nome sh, o bash procura por variável ENV ..." -Bem, eu faço invocá-lo como shell interativo, não é? Por que não há ENV no meu ambiente (testado com env )

Eu não entendo como preservar o POSIXness de tudo e ao mesmo tempo não introduzir fraqueza de segurança ao fazer sudo preservar um ou mais env. variáveis. Pelo menos, deve preservar ENV , não?

Espero estar esclarecendo aqui.

    
por amn 23.04.2014 / 13:14

0 respostas

Tags