vsFTPd หยุดทำงานหลังจากอัพเดต


17

ฉันเพิ่งอัปเดตเป็น Ubuntu 12.04 LTS (แม่นยำ Pangolin) จาก Ubuntu Server 11.10 (Oneiric Ocelot)

มันอัพเดตการติดตั้ง vsFTPd ของฉันและดูเหมือนว่ามีบางอย่างเปลี่ยนแปลง: / ฉันใช้การตรวจสอบความถูกต้อง PAM สิ่งใดที่อาจทำให้เกิดสิ่งนี้เปลี่ยนแปลง?

เมื่อพยายามเชื่อมต่อกับเซิร์ฟเวอร์ FTP ฉันได้รับข้อผิดพลาดนี้:

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

ฉันลอง googling แล้วก็บอกว่าเพิ่มallow_writable_root=YESไฟล์การตั้งค่า - อย่างไรก็ตามเมื่อฉันลองและลองเริ่มการทำงาน vsftpd มันไม่สามารถรีสตาร์ทได้ ทำไม?

นี่คือวิธีที่ฉันแก้ไขมันจริง:

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

และ voila :)


ลิงก์ที่คุณระบุไว้สำหรับwgetพารามิเตอร์นั้นตายแล้ว อาจเป็นเพราะเวอร์ชั่น3.0.2-3ตอนนี้ออกมาแล้ว ทุกคนที่ประสบปัญหานี้ควรเยี่ยมชมเว็บไซต์นี้เพื่อรับลิงค์ที่ถูกต้อง ลิงก์ที่กล่าวถึงข้างต้นสำหรับแพลตฟอร์ม 64 บิต หากต้องการค้นหาลิงก์สำหรับแพ็คเกจนี้สำหรับแพลตฟอร์มอื่น ๆ เช่นเช่น 32- บิตให้ทำตามหน้านี้แล้วเลื่อนลงไปที่Download vsftpdส่วน
trejder

คำตอบ:


11

ฉันมีปัญหานี้เช่นกันและคิดว่าเป็นเพราะการปรับปรุง vsFTPd ใหม่เพื่อเพิ่มความปลอดภัยดังนั้นในระหว่างนี้ฉันใช้โซลูชันนี้

  1. ฉัน chmod โฟลเดอร์ที่ผู้ใช้ FTP ของฉันเข้ามาเป็นเขา / เธอเข้าสู่ระบบครั้งแรก (โฟลเดอร์ราก) โดยใช้สิ่งนี้ใน terminal: sudo chmod a-w /home/user

    คุณสามารถเปลี่ยน/home/userเป็นโฟลเดอร์รูทของผู้ใช้ FTP ของคุณได้

  2. สร้างโฟลเดอร์ย่อยภายในโฟลเดอร์โดยใช้ GUI หรือหากคุณมีเทอร์มินัลก็เป็นได้: sudo mkdir /home/user/newfolder

ตอนนี้คุณควรจะสามารถเข้าสู่ระบบและอ่านเขียนภายใน "โฟลเดอร์ใหม่" คุณจะไม่สามารถเขียนในโฟลเดอร์รากของตัวเองจากไคลเอนต์ FTP ด้วย chmod aw ดังนั้นนั่นคือเหตุผลสำหรับโฟลเดอร์ย่อยและคุณสามารถทำได้

ฉันเดาว่าจะมีการแก้ไขในเวลาไม่นานนัก แต่ในระหว่างนี้ฉันหวังว่าสิ่งนี้จะช่วยได้


แก้ไขเดียวที่ฉันสามารถหาได้คือการติดตั้ง vsftpd-ext และแทนที่ vsftpd ซึ่งอนุญาตให้ใช้ allow_writable_root แต่มันมาเป็นไฟล์. tar.gz เท่านั้นและฉันใหม่กับ linux และดูเหมือนจะไม่สามารถเข้าถึงได้ สร้าง: / ในที่สุดฉันเพิ่งบังคับลดระดับเป็นรุ่นเก่าของ vsftpd ฉันใช้ในการทำงาน
นาย King

ทำงานให้ฉัน เจ้าของ homedir ต้องสร้างโฟลเดอร์ไม่ใช่รูท
OrangeTux

ไม่ใช่ chmod aw "ถูกห้าม" โดย linux jedi masters หรือเปล่า? ตั้งแต่คุณอนุญาต 666 สิทธิ์?

9

มีใครบางคนที่ส่งกลับคุณลักษณะเพื่อเพิ่มallow_writeable_chroot=YESจากเวอร์ชัน 3.0.0 เป็น 2.3.5 (ดูรายการบล็อกนี้ )

หากต้องการติดตั้งบน Ubuntu 12.04 (Precise Pangolin) ให้รันคำสั่งต่อไปนี้ในฐานะรูท:

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

โปรดทราบว่าดูเหมือนจะมีตัวเลือก allow_writable_chroot=YESใน vsftpd-ext - หมายเหตุ mssing e ! (หรือนี่คือการพิมพ์ผิดในโพสต์บล็อก?)


1
+1 - นี่เป็นตัวเลือกที่ดีที่สุดและต้องขอบคุณ The Frontier Group ที่ให้บริการ PPA นี้ แต่ผู้ใช้ควรทราบว่าสิ่งนี้จะนำคุณ "off-piste" เนื่องจากลักษณะของสิ่งที่มันทำ vsftpd เป็นความปลอดภัยที่เปิดเผยเล็กน้อยและควรจะพบช่องโหว่ใน vsftpd ในอนาคตผู้ใช้จะต้องพึ่งพาเจ้าของ PPA เพื่ออัปเดตมิเช่นนั้นผู้ใช้จะต้องหาวิธีแก้ไขปัญหาอื่น ในเวลานั้น. จะเป็นการดีถ้าหากคุณสมัครเป็นสมาชิกรายชื่อผู้รับจดหมาย ubuntu-security-Announce และคอยดูการประกาศความปลอดภัย vsftpd ถ้าคุณไปที่เส้นทางนี้
Robie Basak

ทีม DEVOPS ของเราสร้างแพ็คเกจนั้น - แสดงความคิดเห็นในบทความบล็อกหากคุณมีปัญหาส่วนตัวใด ๆ ที่คุณต้องการความช่วยเหลือในการแก้ไขและพวกเขาจะช่วยเหลือคุณ
mlambie

"เขียนได้"เป็นคำที่ดีอย่างสมบูรณ์ "สามารถเขียนได้"ยอมรับได้น้อยกว่าโดยระบุว่าเป็น"การสะกดทางเลือกของการเขียนได้" )
Peter Mortensen

6

vsFTPd 3.0.0 เพิ่มตัวเลือกการกำหนดค่า

allow_writeable_chroot=YES

เพื่อเปิดใช้งานลักษณะการทำงานก่อนหน้าอีกครั้ง (แหล่งที่มา: การแก้ไข 500 OOPS: vsFTPd: ปฏิเสธที่จะทำงานด้วยรากที่เขียนได้ภายใน chroot ()แสดงความคิดเห็นจาก Brian K. White

น่าเสียดายที่ Ubuntu 3.0.0 ยังไม่ได้บรรจุ ดังนั้นในระหว่างนี้ให้ปรับลดรุ่นเป็นรุ่นเก่ากว่า ตัวอย่างเช่นฉันใช้ตัวนี้กับ Ubuntu 12.04 (Precise Pangolin): http://packages.ubuntu.com/oneiric-updates/vsftpd


คุณสามารถเพิ่มคำแนะนำวิธีการติดตั้งแพ็คเกจ Oneiric ที่คุณเชื่อมโยงได้หรือไม่ ฉันควรดาวน์โหลดแพ็คเกจด้วยตนเองหรือไม่ ฉันคิดว่าการเพิ่ม oneiric-อัปเดตไปยังที่เก็บข้อมูลของฉันจะทำให้เรื่องยุ่งมาก
lumbric

0

อีกวิธีในการทำสิ่งต่าง ๆ ตามที่ผู้ใช้ Kristian ทำ: มันใช้ได้ผลสำหรับฉัน ชื่อผู้ใช้ที่ฉันใช้คือ 'john' แทนที่ด้วยชื่อผู้ใช้ที่คุณต้องการ

sudo chmod a-w /home/john - ลบสิทธิ์สำหรับผู้ใช้ทั้งหมดในการลบหรือแก้ไขไฟล์

sudo mkdir /home/john/ftp - สร้างโฟลเดอร์ชื่อ 'ftp' ในหน้าหลัก dir ของผู้ใช้ 'john'

sudo chown -Rv john.john /home/john/ftp - เปลี่ยนความเป็นเจ้าของ dir เป็นกลุ่ม 'john' และผู้ใช้ 'john'


0

ทำไม?

ถ่ายและดัดแปลงมาจากคำตอบของตัวเองในข้อผิดพลาด 1065714

เพื่อให้รีลีสที่เสถียรคงที่การอัพเดตหลังจากรีลีสจะถูกพิจารณาภายใต้สถานการณ์เฉพาะเท่านั้น รายละเอียดของกระบวนการและเกณฑ์ที่ต้องการมีอยู่ที่นี่: https://wiki.ubuntu.com/StableReleaseUpdates# เมื่อ

สิ่งนี้ทำให้ยากสำหรับผู้ใช้รุ่น LTS ที่จะมี chroots แบบเขียนได้เนื่องจากโครงการ upstream vsftpd ตัดสินใจที่จะปล่อยโดยไม่มีคุณสมบัตินี้ในเวลาที่ปล่อย 12.04 ตอนนี้ปล่อย 12.04 และการแก้ไขไม่เป็นไปตามเกณฑ์ข้างต้นฉันไม่คิดว่าสิ่งนี้จะเปลี่ยนเป็น 12.04 แต่โปรดทราบว่าทีมปรับปรุงการวางจำหน่ายที่เสถียรจะทำการตัดสินใจขั้นสุดท้ายเกี่ยวกับเรื่องนี้และไม่มีการเสนอการอัปเดตให้พวกเขา

หากคุณต้องการ vsftpd เวอร์ชันใหม่ที่จะให้บริการโดยทั่วไปสำหรับผู้ใช้ที่ต้องการใช้ตัวเลือก "allow_writeable_chroot" ตัวเลือกพื้นที่เก็บข้อมูล backport เป็นสถานที่ที่เหมาะสมสำหรับสิ่งนี้ ด้วย backport ผู้ใช้ที่ต้องการคุณสมบัติสามารถเพิ่มพื้นที่เก็บข้อมูล backport และติดตั้ง vsftpd ได้จากที่นั่น คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับ backports และวิธีการขอได้ที่นี่: https://wiki.ubuntu.com/UbuntuBackports

ในระหว่างนี้ The Frontier Group ได้ให้ PPA ตามที่อธิบายไว้ในคำตอบของ lumbric หรือคุณสามารถใช้คำตอบอย่างใดอย่างหนึ่งที่นี่ที่เหมาะกับคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.