自动将 chattr 应用到新文件和目录吗?

自动将 chattr 应用到新文件和目录吗?

我计划将 chattr +a 应用于现有目录树。我希望为自动写入该目录的任何新文件设置该位。我可以每隔一分钟左右运行一次 cron 作业,但这可能会带来问题。我想我可以用 supervise 拼凑一些东西,但如果可能的话,我更愿意使用已经发明的轮子。

答案1

我不相信这个属性是自动继承的,但你可以inotifywait从 inotify-tools 包中使用。

一个简单的守护进程,例如

# inotifywait -m -e create -e moved_to . | while read dir action file
do
  if [ -e "$dir$file" ]
  then
    chattr +a "$dir$file"
    echo Added +a to $dir$file
  fi
done

现在我在另一个窗口中执行了 a ,touch ff并且此过程报告了Added +a to ff。 lsattr 现在显示:

% lsattr ff
-----a-------e-- ff

相关内容