Amazon EC2にAmazon Linux AMIを設定しましたvsftpd
。ユーザーを作成し、ftpを介して正常に接続できるようになりました。しかし、何かをアップロードしようとするとエラーが発生します。
553 Could not create file.
権限に関連しているようですが、問題を解決するのに十分な知識がありません。基本的にファイルをアップロードするにはどうすればよいですか?
答え1
これを試してみますか?
chown -R ftpusername /var/www/html
答え2
これが発生する理由は2つあります。アップロードするディレクトリを指すディレクトリに対する書き込みおよび実行権限がないか、vsftpd
アップロードを許可しないように構成されています。
前者の場合は、必要に応じchmod
てを使用して、chown
ユーザーが各中間ディレクトリに対してこれらの権限を持っていることを確認してください。書き込みビットを使用すると、影響を受けるユーザーがディレクトリ内のファイルを作成、名前変更、または削除できるだけでなく、ディレクトリ属性を変更したり、読み取りビットを使用すると、影響を受けるユーザーがディレクトリ内のファイルを一覧表示したりできます。 。パスの中間ディレクトリもこれに影響を与えるため、アップロードしたい最終的な宛先に到達するには、適切な権限を設定する必要があります。
後者の場合、書き込みを許可するには.がtrueでなければなりません(デフォルトではfalse)vsftpd.conf
。write_enable
この設定ファイルに関する良いドキュメントがありますman 5 vsftpd.conf
。
答え3
このコマンドはftp put /path/to/local_file
機能しませんvsftpd
。以下を試してください。
ftp put /path/to/local_file remote_file_name
必要な名前を選択できますが、remote_file_name
名前を指定する必要があります。
答え4
FTPホームディレクトリ(ftp_home_dir)はSeLinuxでオフになっている可能性が高いです。制御ファイルの状態を表示するには、ftpd
以下を実行しgetsebool -a
てftpdセクションを見つけます。 ftp_home_dirが閉じられていることがわかります。開くには、次のコマンドを使用します。setsebool -P ftp_home_dir=1
入力内容を確認してもう一度アップロードしてみgetsebool -a
てください。
注:句読点を無視してください。