问题:如何找到RHEL 5服务器的/etc/init.d目录中的启动脚本中引用的所有可写入文件?
约束:
这是我到目前为止所拥有的。
worldWritable=$(find / -type f -perm -002)
startupScripts=$(ls -l /etc/init.d/* | tr '\011' ' ' | tr -s ' ' | cut -f 9,9 -d " ")
for file in $worldWritable
do
for line in $startupScripts
do
grep -w "$file" $line | grep -v "^#" >> outFile
done
done
这种作品,但需要很长时间,而且它包含了许多不正确的内容(至少不是我正在寻找的内容)。我只需要“outFile”来包含发现在/etc/init.d目录中的任何脚本中引用的世界可写文件的列表。
如果有人能提供更好的解决方案,我不介意彻底放弃这种方法。我只需要更快更可靠的东西。谢谢!
答案 0 :(得分:0)
主要的缓慢肯定来自find /
,扫描整个文件系统。进行逆转会更快:
结果应该明显加快。