我可以通过使用 encfs -S 选项来解决这个问题,它会从文件中提取密码,而不是每次运行脚本时都提示输入密码。
这不是很安全,因为密码在文件中是纯文本,但现在它解决了我的问题。
我将继续寻找更安全的解决方案。
我正在使用加密的亚马逊云驱动器作为源驱动器,以便在多台不同的机器上使用相同的文件。我已将其安装在几台 Ubuntu 机器上,一切运行正常,但为了更新本地缓存,需要将其卸载。
这些机器只从云端读取,源材料通过另一台机器上传。
我需要一些帮助来制作一个每小时运行一次的 cron 任务或脚本,首先卸载加密的 fs,更新本地缓存,重新安装云,然后重新安装顶部的 encfs。
当我从命令行使用 encfs 时,我使用 xml 加密文件,然后它会提示输入主密码。
环境变量 ENCFS6_CONFIG 使用哪个配置文件(通常名为 .encfs6.xml)。默认情况下,配置文件从加密目录中读取。使用此选项可以将配置文件与加密文件分开存储。
Warning: If you lose the config file, the encrypted file contents are irrecoverably lost. It contains the master key encrypted with your password. Without the master key, recovery is impossible, even if you know the password.
我使用以下命令来卸载云和 encfs:
/bin/fusermount -u /home/user/.cloud
/bin/fusermount -u /home/user/cloud
然后使用以下命令更新本地缓存:
/usr/local/bin/acd_cli s
然后再次挂载云存储:
/usr/local/bin/acd_cliacd_cli mount --modules="subdir,subdir=/Ww4hiiFIGcL50MEsUcd2NI4e" /home/user/.cloud
然后设置解密:
ENCFS6_CONFIG='/home/user/1.Important.files/.encfs6.xml' encfs /home/user/.cloud /home/user/cloud
我遇到的问题是,最后一个命令要求输入密码,有没有办法让它从文件中读取密码,或者在最坏的情况下,在脚本中对密码进行硬编码。