我正在创建一个displayed来使用python在s3中加密/解密文件,但是当运行无服务器的lambda时,在运行命令gpg.gnupg.GPG(gnupghome=homedir)时会显示此错误(对homedir `/tmp/sls req/gnupg‘的不安全权限)。
homedir='/tmp'
try:
gpg = gnupg.GPG(gnupghome=homedir)
except TypeError:
gpg = gnupg.GPG(homedir=homedir) 在我的机器上本地运行lambda,不会发生错误。
发布于 2019-11-09 17:13:49
在Lambda执行中,您可以访问的唯一目录是/tmp。这里的问题是,对于gnupg来说,目录上的权限没有被充分锁定(请参阅https://superuser.com/a/954536)。
在调用gpg.gnupg.GPG(gnupghome=homedir)之前,您可以尝试的是使用os模块:( a)在/tmp中创建一个新目录,b)根据需要更改该目录的自己的权限和权限,然后将其作为您在gpp.gnupg.GPG中的主目录。
https://stackoverflow.com/questions/58754027
复制相似问题