【問題】aws configure入力後に[Error 13]Permission denied
環境
- OS_Mac OS
やろうとしたこと
MacにAWS-CLI ver2のインストールを行ったので、動作チェックの意味で以下コマンドを実行。
コマンド:
which aws
出力結果:
/usr/local/bin/aws
コマンド:
aws configure
出力結果:ここでエラー
[Errno 13] Permission denied: '/Users/[ユーザー名]/.aws/credentials'
参考URL:AWS CLI v2をMacにインストールする
メモ
AWS-CLIをインストールした背景は、zappa deploy時に「botocore.exceptions.ClientError: An error occurred (AccessDeniedException)」が発生したから。とある書籍を参考にしながらAWSでのアプリ開発を行っていたが、AWSに関する詳細の説明がないままデプロイまで進んでしまったので、何に対するアクセス拒否なのかわからなかった。だからAWS専用のコマンドラインで色々触って勉強しようと思った。
【原因】credentialsへの権限がない
要は「~/.aws/credentialsへのアクセス権限がないですよ」と怒られている。
実際に「~/.aws」と「~/.aws/credentials」の権限設定を調べてみる。
コマンド:
ls -a -l ~/.aws
出力結果:
drwxr-xr-x 3 [ユーザー名] staff 96 12 5 12:54 .
drwxr-xr-x+ 64 [ユーザー名] staff 2048 12 5 12:54 ..
-rw-r--r-- 1 root staff 142 12 5 11:53 credentials
credentialsの所有はrootであり、グループおよびその他ユーザーは読み取りしかできない設定になっている。よって、rootで実行しない限りcredentialsへの書き込みは行えないわけだ。
【解決策】chownでcredentialsの所有権を変えた
以下のコマンドを実行。
sudo chown -R [ユーザー名] ~/.aws/
例:
sudo chown -R hogehoge ~/.aws/
実際に変更されたか確認する。
コマンド:
ls -a -l ~/.aws
出力結果:
drwxr-xr-x 3 [ユーザー名] staff 96 12 5 12:54 .
drwxr-xr-x+ 64 [ユーザー名] staff 2048 12 5 12:54 ..
-rw-r--r-- 1 [ユーザー名] staff 142 12 5 11:53 credentials
再度、以下コマンドを試す
aws configure
必要な情報を入力し、Enter。Permission deniedが出力されず、通常のコマンドラインが表示される。
以下のコマンドを実行し、「config」と「credentials」の2つが出力されればOK。
ls ~/.aws
参考URL
[Errno 13] Permission denied: '/root/.aws/credentials' #5392