Se o único motivo é editar um determinado arquivo, acho que mudar para um shell interativo já é um "problema de segurança". Mas é um ponto de vista.
Considere que você alterna para root
interativamente. Então, o que quer que você execute, corre com os mais altos privilégios. Agora, a questão é se você confiar nos aplicativos que está executando. Um aplicativo específico pode ter um bug que representa um problema de segurança.
Meu ponto é que você quer minimizar as coisas que você executa diretamente sob o root
. A execução da aplicação X traz uma complexidade de toda a pilha X e, se qualquer backdoor ou escape puder ser mal utilizado, o atacante ganhará o acesso root
. E não é apenas sobre a pilha X, é sobre qualquer software que você executa sob o root
. Essa é também a razão pela qual você / nós temos que ser muito cuidadosos com os aplicativos que possuem setuid
bit set.
Como solução para o seu fluxo de trabalho, eu ofereceria o comando sudoedit
. Você pode usá-lo na forma de
$ sudoedit <file_to_edit>
Ele tentará autenticar / autorizar você (como o% normal sudo
faz) e então executará seu editor preferido (definido pela variável de ambiente EDITOR
). O benefício sobre a execução como $ sudo $EDITOR <file_to_edit>
é que o próprio editor é executado sob seus privilégios originais e, depois de sair dele, ele substituirá o arquivo pelos resultados de sua edição. A necessidade de sair do editor para tornar as alterações efetivas pode ser um pouco perturbadora.