Как найти все системные файлы, которые я редактировал с помощью `gedit`?

Сначала я собирался задать вопрос "Найти все файлы, которые я создал / изменил после установки?" но это дубликат ( найти все файлы в файловой системе, которые я отредактировал или создал), который не имеет удовлетворительного ответа, потому что включает загруженные материалы, которые никогда не менялись, а также тысячи миниатюр, созданных Nautilus под моим идентификатором пользователя без моего ведома.,

Причиной такой необходимости является то, что я написал отличный скрипт для отключения USB-порта на моем ноутбуке, который всегда имеет мощность, чтобы выиграть награду.

Теперь я очень недоволен тем, что мой всегда включенный USB-порт выключен во время ожидания или выключения. Я хочу отследить и вернуть программам те конфигурации systemd, которые я установил gedit, Имея плохую память на импровизированные вещи, я не могу вспомнить, что я изменил.

Как найти все файлы, которые я создал или изменил с gedit ?

Я создал скрипт-обертку gsu который использует pkexec заменить gksu gedit ( Как я могу создать новую команду "gksu" на основе pkexec?). Я изменю это, чтобы регистрировать все системные файлы, отредактированные с их последней датой.

В то же время, кто-то намекнул на эту ссылку, все команды sudo, использующие gedit, были где-то зарегистрированы. Вопрос в том, где и как их перечислить grep или как?

Обратите внимание, что я могу найти это с помощью других трудоемких средств, но чувствую, что это важный вопрос, который может возникнуть и у многих других.

2 ответа

Я только что отредактировал "системный" файл, используя эту команду, чтобы открыть файл:

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

Я сразу же посмотрел на последнюю запись в ~/.local/share/recently-used.xbel и увидел это:

  <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>

Ограничения:

  • recently-used.xbel содержание не показывает, как вы вызвали gedit,
  • необязательно, чтобы файл был отредактирован или создан с gedit; просто просмотр файла с gedit получает файл в списке.

Визуальный осмотр файла кажется более безопасным, чем использование кода для извлечения необходимой информации. Что-то вроде grep -B5 '<bookmark:group>gedit</bookmark:group>' recently-used.xbel | grep 'bookmark href=' | grep -v '///home/' может помочь изолировать системные файлы, которые были отредактированы gedit, Но это будет работать, только если gedit это первое приложение, указанное в bookmark:group для этого конкретного файла. Если вы редактировали файл ранее с помощью другого приложения, которое пишет в recently-used.xbel, вы не можете поймать этот файл.

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

Во всяком случае, это выход 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 $ 

Все sudo вызовы регистрируются по умолчанию, а не только sudo gedit, Увидеть /var/log/auth.logили в современных системах, journalctl $(which sudo), Точно так же для pkexec: journalctl $(which pkexec),

Этот вопрос имеет пример sudo появляется в /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:

Что вам нужно COMMAND=... раздел.

Другие вопросы по тегам