На моем ноутбуке под управлением Arch у меня есть куча репозиториев git, клонированных в ~/git. Моя проблема в том, что время от времени (возможно, раз в месяц или около того) все исполняемые файлы внутри клонов теряют свой исполняемый бит. Это вызвано не мерзавец, потому что git ls-files --cached
показывает соответствующие файлы, имеющие режим 100755 и git diff
показывает такой вывод:
diff --git a/setup.py b/setup.py
old mode 100755
new mode 100644
Вот как я заметил, это происходит в первую очередь.
Я смотрел на многие вещи. Это параметры монтирования для /home:
/dev/sda4 on /home type btrfs (rw,relatime,ssd,space_cache)
Нет подозреваемых системных таймеров; Ежедневно запускаются только файлы logrotate, mandb, grpck, pwck и systemd-tmp. Нет работы cron либо. Журнал systemd не упоминает ничего, даже отдаленно связанного с проблемой, и я искал строки разрешений, мое имя пользователя, пути и многое другое.
Мой umask - 0022
, поэтому у вновь созданных файлов установлен бит записи. Ни в одном из каталогов выше репозиториев git не установлен бит закрепления.
Я в растерянности, что может быть причиной этого? Или как я могу узнать, что вызывает это? Может, что-нибудь взломать с помощью inotify
и lsof
? Будет трудно уловить оскорбительный процесс в действии, так как это происходит так редко.