Não é possível retomar o editor em execução como raiz

2

Durante anos, quando trabalhei em uma conexão SSH, executarei sudo vi ... para editar um arquivo de configuração. Se eu precisar fazer algo na linha de comando, pressiono Ctrl + Z para suspender o editor, fazer as coisas, então fg para voltar a ele.

Mas isso não está mais funcionando como esperado (como no Ubuntu 14.04, tanto quanto eu posso dizer). O editor fica suspenso muito bem, mas a primeira vez que tento retomar é como se nada acontecesse (ou talvez ele recomeça momentaneamente, mas depois suspende novamente). Se eu tentar fg uma segunda vez, o editor parece retomar, mas todas as teclas que eu pressionar são apenas ecoadas para o console. Mas pressionar Ctrl + Z neste ponto suspende e me retorna ao shell.

Eu não consigo descobrir como recuperar o controle do editor. Eu geralmente tenho que apenas sudo kill pelo ID do processo ( kill %1 retorna "operação não permitida", como seria de se esperar, pois o editor está sendo executado como root).

Por favor, não sugira usar screen e / ou terminais separados, pois eu já faço isso. Eu gostaria de saber se existe uma solução para esse problema específico, já que apertar Ctrl + Z é um hábito tão profundo que eu continuo fazendo isso sem pensar nisso. O Ubuntu mudou recentemente algum modelo de segurança?

Atualizar

Ainda não descobri esse problema, mas acho que tem algo a ver com a suspensão de processos aninhados. Não tenho certeza se é específico para o sudo. Eu não consegui reproduzi-lo de forma confiável, mas esta é a sequência que mais causa isso:

  1. sudo vi filename
  2. Ctrl + Z para suspender o vi
  3. vi another-filename
  4. Ctrl + Z
  5. fg 1 para tentar retomar o vi como root. Neste ponto, o shell simplesmente dirá [1]+ Stopped sudo vi filename . Tentando fg 1 novamente aparecerá para retomar o vi, mas qualquer keystrokes simplesmente será ecoado para o console.

O que parece estar acontecendo é que, quando eu suspendo o sudo vi , os processos sudo e vi são interrompidos. Quando eu fg na primeira vez, somente sudo é retomado. Quando eu fg na segunda vez, sudo é interrompido, mas vi é retomado. Em circunstâncias normais, ambos os processos devem ser retomados.

    
por Brian 11.09.2014 / 19:21

0 respostas