Saya telah menyiapkan VSFTPD di Amazon EC2 dengan Amazon Linux AMI. Saya membuat pengguna dan sekarang berhasil terhubung melalui ftp. Namun, jika saya mencoba mengunggah sesuatu, saya mendapat pesan kesalahan "553 Tidak dapat membuat file."
Saya menganggap ini ada hubungannya dengan izin, tetapi saya tidak cukup tahu tentang hal itu untuk dapat memperbaikinya. Jadi pada dasarnya, apa yang harus saya lakukan untuk dapat mengunggah file?
permissions
ftp
vsftpd
amazon-ec2
Jeff Schaller
sumber
sumber
Jawaban:
Ada dua kemungkinan alasan hal ini bisa terjadi - Anda tidak memiliki izin menulis dan menjalankan direktori yang mengarah ke direktori yang Anda coba unggah, atau
vsftpd
dikonfigurasikan agar Anda tidak dapat mengunggah.Dalam kasus sebelumnya, gunakan
chmod
danchown
jika perlu untuk memastikan bahwa pengguna Anda memiliki izin ini di setiap direktori perantara. Bit tulis memungkinkan pengguna yang terpengaruh untuk membuat, mengubah nama, atau menghapus file dalam direktori, dan memodifikasi atribut direktori, sementara bit baca memungkinkan pengguna yang terpengaruh untuk membuat daftar file dalam direktori. Karena direktori perantara di jalur juga memengaruhi ini, izin harus ditetapkan dengan tepat mengarah ke tujuan akhir yang ingin Anda unggah.Dalam kasus terakhir, lihat
vsftpd.conf
.write_enable
harus benar untuk mengizinkan penulisan (dan itu salah secara default). Ada dokumentasi yang baik pada file konfigurasi ini diman 5 vsftpd.conf
.sumber
Bisakah Anda mencoba ini?
sumber
Perintah
ftp put /path/to/local_file
tidak bekerjavsftpd
. Coba yang berikut ini:Anda dapat memilih nama yang Anda inginkan
remote_file_name
, tetapi Anda harus menentukan satu.sumber
/path/to/
tidak ada (dan / atau tidak dapat diakses melalui sesi FTP) di server. Inilah sebabnya mengapaftp put local_file
tidak bekerja tanpa tujuan eksplisit. (Petunjuk: periksalocal: … remote: …
Direktori home FTP (ftp_home_dir) kemungkinan besar dimatikan di SeLinux. Untuk melihat status
ftpd
file kontrol Anda , terbitkan:getsebool -a
dan temukan bagian ftpd. Anda mungkin melihat ftp_home_dir dimatikan. Untuk menyalakannya, gunakan perintah berikut:setsebool -P ftp_home_dir=1
Verifikasi input Anda menggunakan
getsebool -a
, lalu Coba unggah lagi.Catatan: Abaikan tanda baca
sumber
Saya memiliki masalah yang sama dan memperbaiki perubahan SELinux untuk memungkinkan penulisan di folder yang saya konfigurasikan untuk digunakan oleh
vsftp = /var/ftp/pub
.Tautan ini dapat membantu:
Jika Anda tidak ingin melangkah lebih jauh dengan SELinux Anda, jangan mengubahnya, jadi Anda akan melihatnya sebagai default
/etc/selinux/config
kemudian jalankan perintah sebagai root atau dengan
sudo
:seperti yang sudah dijelaskan di atas di komentar lain.
sumber
Periksa
vsftpd.conf
pengaturan Anda untuk ini:Jika disetel ke
YES
, itu juga akan menyebabkan553 Could not create file
.Dari: http://www.vsftpd.beasts.org/vsftpd_conf.html
sumber
Coba ini
sumber
Kemungkinan lain: periksa kuota disk untuk pengguna / grup
ext:
xfs:
sumber
Parameter selanjutnya akan memberikan akses ftpd untuk menulis di mana saja:
Jangan gunakan
ftpd_anon_write
kecuali Anda ingin unggahan anonim diizinkan.sumber
Anda kemungkinan memiliki karakter yang tidak didukung dalam nama file
sumber
Untuk Fedora23, jalankan perintah:
Itu berhasil untuk saya.
sumber