我有一个shell脚本文件,它随机生成一个位置,并将一些文件复制到这个随机生成的位置。
我还有一个不同的C代码,需要访问这个随机生成的位置来访问复制的文件。
但是,shell脚本和C代码都独立工作(按照shell脚本和C代码的顺序)。C代码由第三个应用程序调用,因此不可能将位置数据传递给C。
我如何安全地保存这个C代码可以访问的“随机生成的位置”数据。
我在Mac上运行这些脚本,我希望有一种解决方案,帮助将这些数据保存在内存中,或者不在公共位置(如/tmp、/var/tmp等)创建文件。
发布于 2016-11-23 15:56:02
分享信息的方式多种多样。就我个人而言,我不认为将文件保存为一个问题,因为您可以使用文件系统的访问控制来限制访问和/或加密文件。
但是,特别是在macOS上,还有其他一些方法,比如用户默认值 (通过defaults
从命令行访问)和密钥链(通过security
从命令行访问)。
保存到用户默认值实际上是将文件保存到一个文件(该用户可以访问),因此,为了安全(除了通过模糊),您仍然需要加密数据。同时,密钥链是为安全地存储东西而构建的,但是设置对它的访问更加困难(您可能无意中授予您的shell解释器永久访问权限)。
不过,也许值得尝试这样的做法:
security add-generic-password -a myUserName -s myService -w '/foo/bar/baz'
security find-generic-password -g -a myUserName -s myService
https://stackoverflow.com/questions/40767120
复制相似问题