por que o emacs impede o superusuário de editar arquivos sem permissões?

1

Se eu tiver um arquivo que desejo editar, como root, devo ter a capacidade de modificá-lo sem as permissões. Mas este não parece ser o caso de todos os editores de texto, em especial o emacs.

Se houver um arquivo de texto com uma das seguintes permissões, com as permissões -rw-r--r-- , -r--rw-r-- ou -r--r--rw- , como root, posso editar o arquivo, sem problemas. No entanto, se não houver permissões de gravação ( -r--r--r-- ), então emacs não permitirá que o root faça alterações no buffer. O Vim também se comporta de maneira um pouco peculiar. Nos três primeiros casos, ele permitirá que o root salve as alterações com o comando :w , mas no último caso, o root deve usar o comando de substituição:w! para salvar.

Tanto o nano quanto o gedit se comportam corretamente, dando ao superusuário acesso de gravação o tempo todo.

Alguém sabe qual é a fonte desse comportamento desagradável por parte de emacs e vim ? Estou inclinado a pensar que é mais um efeito colateral de algo, em vez de um design intencional, baseado no comportamento do vim, mas não consigo pensar no que causaria isso.

    
por Linux_user 04.09.2014 / 06:59

1 resposta

1

Este é mais um caso de vim e emacs expondo o que está acontecendo sob o capô. Quando não há permissões de gravação disponíveis para o arquivo, ele não está sendo editado no local. Em vez disso, o arquivo é totalmente substituído (já que isso depende das permissões do diretório, não das permissões de arquivo).

Para salvar um arquivo em emacs que não tenha permissões de gravação, você pode usar M-x toggle-read-only ou C-x C-q . Você poderá salvar suas modificações.

    
por 04.09.2014 / 07:42

Tags