Muitas vezes, edito um arquivo com o nano, tento salvar e recebo um erro de permissão porque esqueci de executá-lo como sudo. Existe alguma maneira rápida de me tornar sudo sem precisar reabrir e reeditar o arquivo?
command-line
sudo
nano
Kit Sunde
fonte
fonte
vim
. Estou considerando a mesclagem ... embora também esteja considerando o fato de que instruções específicas do vim não funcionamnano
.nano
não évim
... e nenhumanano
solução semelhante àvim
se apresentou.Respostas:
Não, você não pode dar a um programa em execução permissões que ele não possui quando é iniciado, isso seria a falha de segurança conhecida como 'escalonamento de privilégios' '.
Duas coisas que você pode fazer:
sudo cp $TMPFILE $FILE
. Observe que não é recomendável usá-lomv
para isso, devido à alteração na propriedade e nas permissões do arquivo que provavelmente causará; você só deseja substituir o conteúdo do arquivo e não o próprio espaço reservado para o arquivo.fg
para voltar ao editor e salvar. Não se esqueça de corrigir as permissões!¹ Alguns editores conseguem fazer isso iniciando um novo processo com permissões diferentes e passando os dados para esse processo para salvar. Veja, por exemplo, esta pergunta relacionada para outras soluções em editores avançados que permitem gravar o buffer de arquivo em um canal de processo. O Nano não tem a capacidade de iniciar um novo processo ou passar dados para outros processos, portanto, fica de fora desta parte.
fonte
:w !sudo tee
Eu apenas tentei
nano
, e o que achei mais surpreendente é que ele nem avisa que o arquivo é somente leitura quando você começa a tentar editar o arquivo. ( ATUALIZAÇÃO: Aparentemente, o nano 2.2 avisa; 2.0 não. )Aqui está um script (básico) que faz isso.
Ele verifica se você pode editar o arquivo e, se não puder, executa "nano" como root.
/ usr / local / bin / edit (ou ~ / bin / edit )
E um comando que chamei
view
para que você possa evitar a solicitação se souber que não fará nenhuma alteração./ usr / local / bin / view (ou ~ / bin / view )
Já existe um programa chamado
view
que faz parte do Vi / Vim, portanto, fique à vontade para sugerir um nome melhor.(Mas acho que uma implementação completa desse programa tornaria
view
redundante o Vi .)Versões completas
fonte
[ Read ... lines (Warning: No write permission) ]
é o que aparece logo acima das duas linhas de ajuda para os atalhos (parte inferior da tela). A versão Nano é 2.2.4.