以普通用户身份运行而不是root用户时出现aws cli错误

时间:2017-09-12 15:55:56

标签: python amazon-web-services command-line-interface

我一直在测试带有aws cli的沙盒服务器。我以root身份安装了pip,boto和awscli,并且可以以root身份非常成功地运行aws s3 ls,但是当我尝试运行与我自己(不是root)相同的命令时,我得到一个clidriver错误如下:

$ aws s3 ls
Traceback (most recent call last):
  File "/usr/local/bin/aws", line 19, in <module>
    import awscli.clidriver

ImportError:没有名为awscli.clidriver的模块

任何人都知道缺少哪些权限,考虑到这是root用户?

1 个答案:

答案 0 :(得分:0)

不,两个用户(我和root)都在使用相同的python。问题原来是一个安全的剧本,它把awscli放在了系统上。 site-package只有root权限才能操作它们。我编辑了剧本并添加了一个umask设置来pip它正在使用的任务。我们花了很多时间进行实验,因为如果文件本身没有改变,ansible似乎没有改变权限。所以,我最终在几个包上进行了一次pip卸载,并多次重新运行了剧本。最终,在确定umask值必须包含在引用中之后(与ansible网页示例不同),一切正常。谢谢你的想法。