2008-05-09

Root no Ubuntu

Lendo o planet do Ubuntu, me deparei com um post do Christer Edwards sobre como usar um shell root corretamente. Existem situações onde um simples sudo não resolve, como em:

sudo echo “modulo” > /etc/modules

Nesse caso, embora o comando echo rode como root, quem tenta escrever o arquivo é o bash, que continua rodando como usuário normal. Em um caso desses é possível usar o tee para contornar o problema, mas nessas situações eu prefiro logar como root.

Para isso eu estava usando sudo su, ou sudo su -, o que, realmente, não é muito elegante. No post citado, sugere-se o seguinte:

sudo -i

Essa opção (simulate initial login) irá invocar o shell especificado no passwd para a conta root, inicializando o ambiente como em um login inicial (você vai para a pasta ~). Não sei exatamente como isso difere do sudo su -. Se alguém souber, por favor me diga.

Outra opção, equivalente a um sudo su, que não faz o login completo é essa:

sudo -s

Que irá simplesmente rodar, como root, o shell especificado pela variável de ambiente SHELL, preservando o ambiente atual.

Nenhum comentário: