Linux

awscli v2 需要 sudo 才能執行,否則獲得權限被拒絕錯誤 ubuntu 20.04.01

  • September 23, 2020

我已按照此處的官方 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

沒有須藤…

$ 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
.
.
.

在最終目錄中,執行位似乎已被刪除,這可能是問題所在,但這似乎是一個如此根本的問題,但我找不到任何其他關於此問題的報告。

誰能告訴我發生了什麼?謝謝。

將 o+x 添加到最後一個目錄中的 aws 文件並不能解決問題。如果我嘗試通過似乎可以正常工作的 apt 安裝,但我得到了我不想要的 V1 API。

對我有用的是遞歸地授予 aws-cli 文件夾的權限

sudo chmod -R 755 /usr/local/aws-cli

引用自:https://serverfault.com/questions/1034762