Quando quero fazer vimdiff
root nos arquivos, uso o seguinte alias, conforme esta sugestão .
alias sudovimdiff='SUDO_EDITOR=vimdiff sudoedit'
Eu posso então usar o seguinte comando.
$ sudovimdiff /root/a /root/b
No entanto, se um dos arquivos for gravável pelo meu usuário, o comando falhará.
$ sudovimdiff /root/a /tmp/b
sudoedit: /tmp/b: editing files in a writable directory is not permitted
Existe uma maneira de vimdiff um arquivo raiz e um arquivo não raiz, usando as configurações de ambiente do meu usuário (ou seja sudoedit
)?
Pode ser útil relacionado a essa mensagem de erro sudoedit:
Tente uma modificação no arquivo sudoers usando
sudo visudo
, adicione uma linha:Mais aqui .
De
man sudo
, na parte que descreve-e
(akasudoedit
):Então, ou:
sudoedit
como root, o que iria anular o propósito oucopiamos o arquivo do usuário para um novo diretório não editável pelo usuário:
editamos o arquivo raiz e o diferenciamos dentro:
como
sudoedit
trata todos os nomes de arquivo de argumentos não sudo, você pode usar um script wrapper: