[ホーム] - [Redhat Linux 7 FAQ 一覧] - ["553 Could not create file"がftp putで出力される]



"553 Could not create file"がftp putで出力される

環境:Redhat Enterprise linux 7(EL)




現象


ftp コマンドで redhat vsftpd サーバにput でアップロードしようとすると以下のエラーが発生する場合があります。


"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