我已经按照官方 AWS 说明安装了 awscli V2这里:
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install
安装似乎工作正常,但没有 sudo 我无法使用 aws 命令。
$ sudo aws --version
$ aws-cli/2.0.50 Python/3.7.3 Linux/5.4.0-47-generic exe/x86_64.ubuntu.20
没有 sudo......
$ aws --version
Command 'aws' not found, but can be installed with:
sudo snap install aws-cli # version 1.15.58, or
sudo apt install awscli # version 1.18.69-1ubuntu0.20.04.1
See 'snap info aws-cli' for additional versions.
更多细节:
$ which aws # displays nothing
$ sudo which aws
/usr/local/bin/aws
$ /usr/local/bin/aws
bash: /usr/local/bin/aws: Permission denied
如果我开始查看链接的去向,它们会变得非常复杂:
$ sudo ls -l /usr/local/bin/aws
lrwxrwxrwx 1 root root 37 Sep 21 16:43 /usr/local/bin/aws -> /usr/local/aws-cli/v2/current/bin/aws
$ sudo ls -l /usr/local/aws-cli/v2/current/bin/aws
lrwxrwxrwx 1 root root 11 Sep 21 16:43 /usr/local/aws-cli/v2/current/bin/aws -> ../dist/aws
$ sudo ls -l /usr/local/aws-cli/v2/2.0.50/dist
total 48400
-rwxr-x--- 1 root root 214121 Sep 21 16:43 array.cpython-37m-x86_64-linux-gnu.so
-rwxr-x--- 1 root root 237647 Sep 21 16:43 _asyncio.cpython-37m-x86_64-linux-gnu.so
-rwxr-x--- 1 root root 4136160 Sep 21 16:43 aws
drwxr-x--- 6 root root 4096 Sep 21 16:43 awscli
-rwxr-x--- 1 root root 4151368 Sep 21 16:43 aws_completer
.
.
.
在最终目录中,似乎执行位已被删除,这可能是问题所在,但这似乎是一个非常根本的问题,但我找不到有关此问题的任何其他报告。
谁能告诉我发生了什么事?谢谢。
在最后一个目录中的 aws 文件中添加 o+x 并不能解决问题。如果我尝试通过 apt 安装,似乎可以正常工作,但我得到了我不想要的 V1 API。
答案1
对我有用的是递归地向 aws-cli 文件夹授予权限
sudo chmod -R 755 /usr/local/aws-cli
答案2
更好的解决方案是:
chmod -R o=g /usr/local/aws-cli
这将使所有文件/目录的权限仅限于 root 用户,但允许系统上的所有人使用组权限。
更多信息请点击此处将文件所有者权限复制到组权限