$HOME 中的文件丢失可执行位

$HOME 中的文件丢失可执行位

在我的运行 Arch 的笔记本电脑上,我在 ~/git 下克隆了一堆 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)

没有可疑的 systemd 计时器;只有 logrotate、mandb、grpck、pwck 和 systemd-tmpfiles 每天运行。也没有 cron 作业。systemd 日志没有提到任何与问题相关的内容,我搜索了权限字符串、我的用户名、路径等。

我的 umask 是0022,因此阻止新创建的文件设置写入位。git 存储库上方的所有目录均未设置粘滞位。

我很困惑,这是什么原因造成的?或者我如何才能找出原因?也许用inotify和来破解一些东西lsof?很难在发生问题的过程中抓住它,因为这种情况很少发生。

相关内容