vsFTPd berhenti bekerja setelah pembaruan

17

Saya baru saja memperbarui ke Ubuntu 12,04 LTS (Precise Pangolin) dari Ubuntu Server 11.10 (Oneiric Ocelot).

Ini memperbarui instalasi vsFTPd saya, dan tampaknya ada sesuatu yang berubah: / Saya menggunakan otentikasi PAM. Apa yang bisa berubah untuk menyebabkan ini?

Saat mencoba terhubung ke server FTP saya mendapatkan kesalahan ini:

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

Saya mencoba googling, dan katanya menambahkan allow_writable_root=YESke file konfigurasi - namun ketika saya mencoba ini dan mencoba me-restart vsftpd tidak dapat me-restart. Mengapa?

Inilah cara saya memperbaikinya:

wget http://http.us.debian.org/debian/pool/main/v/vsftpd/vsftpd_3.0.2-3_amd64.deb -O vsftpd.deb
dpkg -i vsftpd.deb
echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf
service vsftpd reload

Dan voila :)

Tuan King
sumber
Tautan, yang Anda berikan untuk wgetparameter, sudah mati. Mungkin, karena versi 3.0.2-3sudah keluar. Siapa pun yang menghadapi masalah ini, harus mengunjungi situs ini untuk mendapatkan tautan yang benar. Tautan yang disebutkan di atas adalah untuk platform 64-bit. Untuk menemukan tautan untuk paket ini untuk platform lain, seperti misalnya 32-bit, ikuti halaman ini dan gulir ke bawah ke Download vsftpdbagian.
trejder

Jawaban:

11

Saya memiliki masalah ini juga dan berpikir itu karena pembaruan vsFTPd baru untuk meningkatkan keamanan, jadi sementara itu saya menggunakan solusi ini.

  1. Saya chmod folder tempat pengguna FTP saya masuk saat dia pertama kali login (folder root) dengan menggunakan ini di terminal: sudo chmod a-w /home/user

    Anda dapat mengubah /home/userke apa pun folder root pengguna FTP Anda.

  2. Buat subfolder di dalam folder, baik dengan menggunakan GUI, atau jika Anda hanya memiliki terminal, itu: sudo mkdir /home/user/newfolder

Sekarang Anda harus dapat masuk dan membaca tulisan di dalam "folder baru". Anda TIDAK akan bisa menulis di folder root itu sendiri dari klien FTP dengan chmod aw, jadi itulah alasan untuk subfolder, dan di sana Anda bisa.

Saya kira akan ada perbaikan dalam waktu yang tidak terlalu lama, tetapi sementara itu saya harap ini membantu.

kristen
sumber
Satu-satunya perbaikan yang dapat saya temukan adalah menginstal vsftpd-ext dan mengganti vsftpd yang memungkinkan penggunaan allow_writable_root, tetapi itu hanya berupa file .tar.gz, dan saya sangat baru di linux dan sepertinya tidak bisa mendapatkannya build: / pada akhirnya saya hanya memaksa downgrade ke versi lama vsftpd yang biasa saya jalankan
Mr. King
Bekerja untukku. Pemilik homedir harus membuat folder, bukan root.
OrangeTux
Bukankah melakukan chmod aw "dilarang" oleh master jedi linux? karena Anda akan memberikan izin 666?
9

Seseorang mendukung fitur ini untuk ditambahkan allow_writeable_chroot=YESdari versi 3.0.0 ke 2.3.5 (lihat entri blog ini ).

Untuk menginstal di Ubuntu 12.04 (Precise Pangolin), jalankan perintah berikut sebagai root:

add-apt-repository ppa:thefrontiergroup/vsftpd
apt-get update
apt-get install vsftpd
echo allow_writeable_chroot=YES >> /etc/vsftpd.conf

Perhatikan bahwa tampaknya ada opsi allow_writable_chroot=YES di vsftpd-ext - perhatikan mssing e ! (atau apakah ini salah ketik pada posting blog?)

lumbric
sumber
1
+1 - ini sepertinya merupakan pilihan terbaik, dan terima kasih kepada The Frontier Group untuk menyediakan PPA ini. Tetapi pengguna harus memperhatikan bahwa ini membuat Anda "tidak masuk akal". Karena sifatnya, vsftpd sedikit terbuka untuk keamanan, dan jika kerentanan ditemukan di vsftpd di masa mendatang, maka pengguna bergantung pada pemilik PPA untuk memperbaruinya, atau pengguna perlu menemukan solusi lain pada waktu itu. Akan lebih bijaksana untuk berlangganan mailing list ubuntu-security-announce dan saksikan pengumuman keamanan vsftpd jika Anda mengikuti rute ini.
Robie Basak
Tim DEVOPS kami membuat paket itu - tinggalkan komentar di artikel blog jika Anda memiliki masalah individu yang perlu Anda selesaikan dan mereka akan membantu Anda.
mlambie
6

vsFTPd 3.0.0 menambahkan opsi konfigurasi,

allow_writeable_chroot=YES

untuk kembali mengaktifkan perilaku sebelumnya (sumber: Memperbaiki 500 OOPS: vsFTPd: menolak untuk menjalankan dengan root yang dapat ditulis di dalam chroot () , komentar dari Brian K. White).

Sayangnya, 3.0.0 belum dikemas oleh Ubuntu. Jadi sementara itu, turunkan versi ke versi yang lebih lama. Misalnya, saya menggunakan yang ini di Ubuntu 12,04 (Precise Pangolin): http://packages.ubuntu.com/oneiric-updates/vsftpd

Jakob
sumber
Bisakah Anda menambahkan instruksi cara menginstal paket Oneiric yang Anda tautkan? Haruskah saya mengunduh paket secara manual? Saya kira menambahkan pembaruan-oneiric ke repositori saya akan mengacaukan banyak hal.
lumbric
0

Cara lain untuk melakukan hal sebagai pengguna Kristian tidak: Ini bekerja untuk saya. Nama pengguna yang saya gunakan adalah 'john'. Ganti untuk nama pengguna yang Anda inginkan.

sudo chmod a-w /home/john - Menghapus izin untuk semua pengguna untuk menghapus atau memodifikasi file.

sudo mkdir /home/john/ftp - Membuat folder bernama 'ftp' di direktori home pengguna 'john'

sudo chown -Rv john.john /home/john/ftp - Mengubah kepemilikan dir ke grup 'john' dan pengguna 'john'.

OrangeTux
sumber
0

Mengapa?

Diambil dan diadaptasi dari jawaban saya sendiri di bug 1065714 .

Agar rilis stabil tetap stabil, pembaruan setelah rilis hanya dipertimbangkan dalam kondisi tertentu. Rincian proses dan kriteria yang diperlukan tercantum di sini: https://wiki.ubuntu.com/StableReleaseUpdates#Ketika

Ini membuat sulit bagi pengguna rilis LTS untuk memiliki chroot yang dapat ditulisi, karena proyek hulu vsftpd memutuskan untuk merilis tanpa fitur ini pada saat 12,04 dirilis. Sekarang 12.04 dirilis dan perbaikannya tidak memenuhi kriteria di atas, saya tidak berpikir ini akan berubah untuk 12,04. Tetapi perhatikan bahwa Tim Pembaruan Rilis Stabil membuat keputusan akhir tentang hal ini, dan pembaruan belum diusulkan kepada mereka.

Jika Anda ingin versi vsftpd yang lebih baru dibuat tersedia secara umum untuk pengguna yang ingin menggunakan opsi "allow_writeable_chroot", maka repositori backports adalah tempat yang tepat untuk ini. Dengan backport, pengguna yang menginginkan fitur bisa menambahkan repositori backports dan menginstal vsftpd dari sana. Anda dapat mengetahui lebih lanjut tentang backports dan cara memintanya di sini: https://wiki.ubuntu.com/UbuntuBackports

Sementara itu, The Frontier Group dengan ramah memberikan PPA, seperti yang dijelaskan dalam jawaban lumbric. Atau Anda dapat menggunakan salah satu jawaban lain di sini yang berfungsi untuk Anda.

Robie Basak
sumber