Ubuntu VSFTPDでファイルをアップロードするときにエラー550が発生した際の対処法
Ubuntu上でvsftpdを使用したファイルアップロード時に550エラーが発生することがあります。このエラーは、サーバーがファイルアップロードリクエストを拒否することを示します。以下に考えられる解決策を示します。
- ファイルとディレクトリの権限を確認してください。アップロード先ディレクトリが適切な権限を持っていることを確認します。権限を設定するには次のコマンドを使用します。
sudo chmod 777 /path/to/directory
- FTPユーザーに適切なパーミッションを付与する: vsftpd 設定ファイル (/etc/vsftpd.conf) で、”write_enable” オプションが “YES” に設定されており、”local_umask” オプションが適切なパーミッションマスク (例: 022) に設定されていることを確認してください。
- FTPユーザーのホームディレクトリーのチェック:FTPユーザーのホームディレクトリー(/home/username)が存在し、適切な権限が設定されていることを確認します。
- FTPユーザーのシェルを確認する:以下のコマンドでFTPユーザーのシェルを確認・変更できます:
sudo chsh -s /bin/bash username
- 十分なディスクスペースの確保:サーバー上のディスクスペースがいっぱいになっていないか確認してください。いっぱいになっている場合はスペースを解放してください。
- SELinuxや AppArmor を確認する: お使いのシステムで SELinux または AppArmor が有効になっている場合、これらのセキュリティモジュールが FTP のアップロード操作を許可していることを確認します。それらを無効にするか、FTP のアップロードを許可するように設定できます。
上記の方法で問題が解決しない場合は、/var/log/syslog または /var/log/vsftpd.log ファイルで、詳細なエラーメッセージを確認し、さらなるトラブルシューティングを実施する必要があります。