EC2サーバーに権限がなくてファイルが移動できない時の対処法。【AWS】

・EC2サーバーにファイルをアップロードできない
・ディレクトリに権限付与を行う方法
google adsenceのads.txtをEC2インスタンスにFTP送信しようとしたところ、下記のような権限エラーが出ておけませんでした。

こちらのエラーの原因確認と対処法を紹介します。
確認
置き先のファイルの権限情報を確認します。
EC2インスタンスにSSH接続を行い、下記コマンドでファイルを置きたいディレクトリ先(今回の場合html/)の権限を確認します。
ll

見てみると「html」のフォルダ(今回ファイルがおけなかった場所)は所有者とグループがwww-dataであることがわかります。
権限が「drwxr-xr-x」となっており、所有者でないと書き込みができない(ファイルを作れない・置けない)状態になっています。
ついでにFTP送信を行う「ubuntu」ユーザがwww-dataに所属しているか確認してみます。
グループ内のユーザー確認は下記のコマンドを実行します。(はグループ名、今回の場合www-data)
getent group <GROUP_NAME>

確認したところwww-dataグループにはubuntuが入っているようですね。
そのため、www-dataグループに書き込み権限を付与すれば解決しそうです。
対処法
ではwww-dataに権限を付与していきます。
※ちなみにグループにもしユーザーがいなかった場合、グループにユーザを追加する必要があります。「usermod -aG GROUPS USER」でグループにユーザを追加できるので、ユーザがグループにいない場合は左記のコマンドを実行してください。
権限の付与にはchmodを使います。今回は755から775に変換します。※
コマンドは下記を実行します。
sudo chmod 775 <FILE_NAME>

権限が変更されているのを確認できました。
※数字の意味は以下の図を参考にしてみてください。

最終確認
試しにFTPソフトで実行してみたところ、無事送信できているのが確認できました。

以上です。
誰かの参考になれば幸いです。
- タグ:
- EC2