VSFTPD、553 ファイルを生成できません。 - 許可?

VSFTPD、553 ファイルを生成できません。 - 許可?

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.confwrite_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てください。

注:句読点を無視してください。

関連情報