Como edito um arquivo como root?

13

Existem considerações especiais para editar um arquivo como root? Qual é a maneira mais segura de fazer isso?

strugee
fonte

Respostas:

14

Obviamente, se você souber executar qualquer comando como root , poderá executar um editor. Mas esse não é o método mais conveniente ou mais seguro.

sudoedit(ou seu sinônimo sudo -e) é um modo de sudo no qual você edita uma cópia temporária de um arquivo no seu editor favorito e essa cópia é movida para o lugar quando você terminar de editar.

sudoedit /etc/fstab

Nota: Existem alguns arquivos que você não deve editar diretamente.

Nunca edite /etc/sudoersdiretamente. Sempre use o visudocomando para isso. Se você cometer um erro na sintaxe do arquivo sudoers, poderá ser bloqueado da conta root! Quando você executa visudo, ele permite editar uma cópia temporária do arquivo e executa uma verificação de sintaxe antes de substituir o arquivo real por suas edições.

O mesmo princípio se aplica ao usuário, grupo, senha do usuário e bancos de dados de senha do grupo, /etc/passwd, /etc/group, /etc/shadow, e /etc/gshadow, respectivamente. Nos sistemas em que estão disponíveis, use os comandos vipw, vigrpara /etc/passwde /etc/group. Para editar os bancos de dados de senhas, passe a opção -s. Por exemplo, para editar /etc/gshadow, use vigr -s.

strugee
fonte
Esta pergunta e resposta foram desfeitas com apenas pequenas edições de uma seção da pergunta canônica " como se tornar raiz ". Todo o crédito é destinado aos criadores dessa resposta original.
tshepang
@Tshepang o que aconteceu?
strugee
2
Meta informações como pertencem à seção Comentários.
tshepang
1
E você não deve editar os arquivos crontab diretamente, mas usar crontab -e(pois isso também pode fazer a verificação de sintaxe).
Restabeleça Monica - M. Schröder
0

Sempre mantenha um backup do arquivo que você está editando. Algumas pessoas gostam de colocar um carimbo de hora depois disso. Isso garante que você sempre possa reverter (bem, espero) se o sistema quebrar como resultado da alteração. Além do comando listado pelo strugee, a maioria das configurações permitirá que você execute seus editores habituais (vi, vim, nano, emacs). Basta ter consciência se o arquivo é somente leitura ou não.

Lucas
fonte
1
É por isso que temos programas como rcse etckeeper.
Restabeleça Monica - M. Schröder
"a maioria das configurações permitirá que você execute seus editores habituais" - sim, é claro. mas observe a segunda frase da minha resposta - executar diretamente um editor não é a maneira mais segura de fazê-lo. praticamente não há desvantagem sudoedit.
strugee