我计划将 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