"553 Could not create file"
原因
主に以下のような原因が考えられます。
(1)アップロードしようとしたディレクトリに書き込み権限がない
ftpで接続した状態で pwd コマンドを実行します。
そのパスをvsftpdサーバ側で確認し、ls -ld <ディレクトリ名>ディレクトリの所有者と所有グループを確認します。
そして所有者、所有グループに書き込み権限があるか確認します。
(2)アップロード元
アップロード元ファイルを想定パスで指定している場合、想定外の問題が発生する場合あります。アップロード元、先を絶対パスで指定してみます。
(3)アップロード先
設定によるが、ログインしたユーザのホームディレクトリがルートとなります。
よってftp接続コンテキスト内で / と指定すると、ftpサーバ側では /home/[ユーザ名] となります。
/tmp/test.txtと指定すると実際には /home/[ユーザ名]/tmp/test.txtとなりエラーとなります。
(4)アップロード元のファイル
以外な盲点です。
putする場合はput元のローカルファイルの権限も必要です。ftpクライアント側のファイルで r (read) が無い場合などが考えられます。
送信元ファイルに問題がある場合は「ファイルが読み込めません」のようなメッセージを出力して欲しいところですが、"Could not create file"というエラーとなります。
(5)mputとputの違い。
put のつもりでmputを使用すると、書式の問題でこのエラーが発生する場合あります。
mputの場合は put で1個ごと試してみます。
(6)その他
Windows のftpでどうなるか、ローカルからftpでどうなるかなどを確認してみます。
対処
(*)本ページは Redhat Enterprise Linux 7.2以後を想定しています。最終更新日:2017/07/15
[ホーム] - [ Redhat Linux 7 FAQ 一覧]
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) tooljp.com 2007-2018