Como encontro todos os arquivos do sistema que eu editei com 'gedit'?

3

No começo eu ia fazer a pergunta "Encontrar todos os arquivos que criei / alterei após a instalação?" mas isso é uma duplicata de ( Find todos os arquivos no sistema de arquivos que eu editei ou criei ) que não tem uma resposta satisfatória, pois inclui coisas baixadas e nunca alteradas, além de milhares de miniaturas que o Nautilus criou sob meu ID de usuário sem o meu conhecimento.

A razão para essa necessidade é que eu escrevi um roteiro bacana para desligar uma porta USB no meu laptop que sempre tem energia para ganhar uma recompensa.

Agora, estou muito descontente com a desativação da porta USB sempre projetada durante a suspensão ou o desligamento. Eu quero rastrear e reverter os programas as configurações do systemd que eu configurei com gedit . Tendo uma memória fraca para coisas improvisadas, não consigo lembrar o que eu mudei.

Como encontro todos os arquivos que criei ou alterei com gedit ?

Eu criei um script de wrapper chamado gsu que usa pkexec para substituir gksu gedit ( Como posso criar um novo comando" gksu "baseado no pkexec? ). Vou mudá-lo para registrar todos os arquivos do sistema editados com sua última data.

Nesse meio tempo, alguém sugeriu neste link que todos os comandos sudo usando o gedit foram registrados em algum lugar. A questão é onde e como listá-los succientemente com grep ou o que seja?

Por favor, note que eu posso encontrar isso através de outros meios demorados, mas sinto que esta é uma questão importante que muitos outros podem ter também.

    
por WinEunuuchs2Unix 14.11.2016 / 01:53

2 respostas

2

Acabei de editar um arquivo "sistema" usando este comando para abrir o arquivo:

sudo -H gedit /etc/gtk-3.0/settings.ini

Eu imediatamente olhei para a última entrada em ~/.local/share/recently-used.xbel e vi isso:

  <bookmark href="file:///etc/gtk-3.0/settings.ini" added="2016-11-14T02:04:05Z" modified="2016-11-14T02:04:05Z" visited="2016-11-14T02:04:05Z">
    <info>
      <metadata owner="http://freedesktop.org">
        <mime:mime-type type="text/plain"/>
        <bookmark:groups>
          <bookmark:group>gedit</bookmark:group>
        </bookmark:groups>
        <bookmark:applications>
          <bookmark:application name="gedit" exec="&apos;gedit %u&apos;" modified="2016-11-14T02:04:05Z" count="1"/>
        </bookmark:applications>
      </metadata>
    </info>
  </bookmark>

Limitações:

  • o conteúdo recently-used.xbel não revela como você chamou gedit .
  • não é necessário que um arquivo tenha sido editado ou criado com gedit ; apenas visualizar um arquivo com gedit obtém o arquivo listado.

A inspeção visual do arquivo parece mais segura do que usar o código para extrair as informações necessárias. Algo como grep -B5 '<bookmark:group>gedit</bookmark:group>' recently-used.xbel | grep 'bookmark href=' | grep -v '///home/' pode ajudar a isolar arquivos do sistema que foram editados por gedit . Mas isso só funcionaria se gedit fosse o primeiro aplicativo listado em bookmark:group para esse arquivo específico. Se você editou o arquivo anteriormente com algum outro aplicativo que grava em recently-used.xbel , talvez não capture esse arquivo.

    <bookmark:groups>
      <bookmark:group>geany</bookmark:group>
      <bookmark:group>gedit</bookmark:group>
    </bookmark:groups>

De qualquer forma, esta é a saída do comando grep :

~/.local/share $ grep -B5 '<bookmark:group>gedit</bookmark:group>' recently-used.xbel | grep 'bookmark href=' | grep -v '///home/'
  <bookmark href="file:///usr/share/themes/Adwaita/gtk-2.0/gtkrc" added="2016-10-15T09:38:31Z" modified="2016-10-15T09:38:31Z" visited="2016-10-15T09:38:31Z">
  <bookmark href="file:///usr/share/themes/Numix/gtk-2.0/gtkrc" added="2016-10-15T09:40:25Z" modified="2016-10-15T09:40:25Z" visited="2016-10-15T09:40:25Z">
  <bookmark href="file:///usr/share/themes/Lubuntu-default/gtk-3.0/gtk-lubuntu.css" added="2016-10-27T03:26:38Z" modified="2016-10-27T03:26:38Z" visited="2016-10-27T03:26:38Z">
  <bookmark href="file:///etc/gtk-3.0/settings.ini.dpkg-old" added="2016-11-14T02:03:44Z" modified="2016-11-14T02:03:44Z" visited="2016-11-14T02:03:44Z">
  <bookmark href="file:///etc/gtk-3.0/settings.ini" added="2016-11-14T02:04:05Z" modified="2016-11-14T02:04:05Z" visited="2016-11-14T02:04:05Z">
~/.local/share $ 
    
por DK Bose 14.11.2016 / 03:41
0

Todas as invocações de sudo são registradas por padrão, não apenas sudo gedit . Veja /var/log/auth.log , ou em sistemas modernos, journalctl $(which sudo) . Da mesma forma, para pkexec : journalctl $(which pkexec) .

Esta questão tem um exemplo de sudo que aparece em /var/log/auth.log :

Jul 16 11:50:56 laptop sudo: mv : 3 incorrect password attempts ; TTY=unknown ; PWD=/home/mv ; USER=root ; COMMAND=/usr/bin/env -u LANGUAGE LC_MESSAGES=C /bin/sh /tmp/tmpBHXhYV/:script:

O que você precisa é de COMMAND=... seção.

    
por muru 14.11.2016 / 02:03

Tags