Mac中的.DS_Store

最近team收到通知,安全团队扫描WEB是遇到有人提交了.DS_Store文件到公司CDN,于是告之告知大家注意这个文件,不要提交。

那问题来了,为什么这个文件会影响安全,我们又如何最大程度规避这个呢,这里总结下。

.DS_Store

先了解下该文件 .DS_Store是Mac系统中产生的一个隐藏文件,记录文件或目录的一些自定义属性

比如,这里我创建一个空文件夹,创建一个文件,然后命令行浏览会看到.DS_Store

可以看到文件内容记录了磁盘路径等信息等,如果被有心之人利用确实不安全。

注意

  1. Mac下即使开启了显示隐藏文件,在finder中也是看不到该文件,因此使用命令行,或者IDE开启了显示隐藏文件

如果没有了该文件,会对Mac有什么影响吗?查资料显示无,因此可以放心的删除。

规避措施

既然该文件对于安全会有风险,如何解决呢,措施如下

  1. .gitignore等确保在代码开发时提交
  2. 有时我们以压缩包形式给他人传输压缩包,也会存在携带.DS_Store,这里推荐使用Keka,且开启设置,排除.DS_Store,当然后期操作修改文件夹中文件数量等,Mac下还是会动态生成该文件

  1. 终端下执行命令,这样SMB等网盘并不会创建.DS_Store

    1
    defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
  1. 手动执行该命令,删除当前文件夹下的所有.DS_Store

    1
    find .  -name ".DS_Store" -print -delete

除了以上方式,对于开发来说,如果是利用工具提交资源到CDN等,也可以利用工具来自动过滤.DS_Store,也是个办法

写在最后

虽然是小问题,但仍需注意。Mark。