【问题标题】:aws cli error when running as a normal user but not root以普通用户而不是root用户身份运行时出现aws cli错误
【发布时间】:2017-09-12 15:55:56
【问题描述】:

我一直在使用 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 身份工作,任何人都知道缺少哪些权限?

【问题讨论】:

  • 会不会是你的root用户和普通用户使用了不同的python?你可以在两个用户中都做which python 吗?

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


【解决方案1】:

不,两个用户(我自己和 root)都在使用同一个 python。问题原来是 ansible playbook 将 awscli 放在系统上。站点包只有 root 权限才能操作它们。我编辑了剧本并为它正在使用的 pip 任务添加了一个 umask 设置。如果文件本身没有更改,则需要进行相当多的实验才能使其全部正常工作,因为 ansible 似乎不会更改权限。因此,我最终对几个软件包进行了 pip 卸载并多次重新运行剧本。最终,在确定 umask 值必须包含在引号中(与 ansible 网页示例不同)之后,一切正常。不过谢谢你的想法。

【讨论】:

    猜你喜欢
    • 2020-06-21
    • 1970-01-01
    • 2011-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    • 2017-04-07
    • 2011-12-31
    相关资源
    最近更新 更多