GPG-AWS无服务器

时间:2019-11-07 17:21:51

标签: python gnupg serverless aws-serverless

我正在创建一个AWS Lambda以使用python-gnupg在s3中加密/解密文件,但是在运行无服务器lambda时会出现此错误(对homedir`/ tmp / sls-py-req / gnupg的权限不安全 gpg.gnupg.GPG (gnupghome = homedir)

时显示
        homedir='/tmp'
        try:
            gpg = gnupg.GPG(gnupghome=homedir) 
        except TypeError:
            gpg = gnupg.GPG(homedir=homedir)   

在我的计算机上本地运行lambda,不会发生该错误。

1 个答案:

答案 0 :(得分:0)

在Lambda执行中,您唯一可以访问的目录是/ tmp。这里的问题是您的目录权限没有被gnupg充分锁定(请参见https://superuser.com/a/954536)。

在调用 message.channel.send({ files: [{ attachment: 'IMG LINK', name: 'SPOILER_NAME.jpg' }] }) 之前,您可以尝试使用os模块进行以下操作:a)在gpg.gnupg.GPG(gnupghome=homedir)中创建一个新目录,b)根据需要更改该目录的所有权和权限,然后将其用作gpp.gnupg.GPG的主目录。