現状
EC2インスタンスAMI:Amazon Linux 2 AMI (HVM), SSD Volume Type
FTPソフト:Transmit
- 実現したいこと:EC2でSFTPからファイル操作できるようにする
- なぜ実現する必要があるか?:SFTPからファイル操作することに慣れており、SFTPでファイル操作できる環境を構築したい
- なぜできないの?:デフォルトのユーザーでは、パーミッション権限の問題でファイル操作ができない
普段はセキュリティグループの設定を調整してSFTP接続からファイル操作できていた気がするのですが、なんだか上手くいかなかったので別の方法を試してみることにしました。
解決の方向性
SFTPでアクセスするユーザーにrootユーザーからファイル操作権限を付与する。デフォルトのユーザーでも良いが、今回はSFTPにアクセスするようのユーザーを新たに作成して対応する。
解決方法
1.SFTP用のEC2ユーザーを作成する
参照:ファイルをsftp経由でEC2にアップロード→lsyncdでS3へのアップロード連携を行う
ユーザー権限はALLにしてるはずなのに、記事をもとにSFTP用のユーザーを作成してもSFTPアップロードできませんでした(泣)
どこかで操作間違えた?
2.SSH接続でroot権限に変更
参照:EC2のLinuxインスタンスでrootになる
sudo su -
適当なユーザーでSSH接続して、root権限を確保します。
3.root権限からユーザーを指定して操作可能にする
参照:WASのEC2でSFTPは繋がったけどフィル操作ができない・・・ORZ
chown -R ユーザー名 /var/www/html
root権限で入り直して指定箇所の所有権をユーザーに付与することでSFTP操作が可能になりました。