การติดตั้ง vsftpd เซิร์ฟเวอร์ FTP อย่างง่ายที่ใช้ Ubuntu (vsftpd)

เป็นระยะๆนะครับทุกคน ผู้ดูแลระบบจำเป็นต้องมีเซิร์ฟเวอร์ FTP ซึ่งส่วนใหญ่มักเกิดจากความจำเป็นในการแลกเปลี่ยนข้อมูล โหมดอัตโนมัติระหว่างแอปพลิเคชัน เช่น เมื่อมีการกระจายการแลกเปลี่ยนอัตโนมัติ ฐานข้อมูล 1C หรือเพื่อเข้าถึงไฟล์บนเว็บเซิร์ฟเวอร์ วันนี้เราจะบอกวิธีสร้างเซิร์ฟเวอร์ดังกล่าวบนแพลตฟอร์ม Ubuntu ในเวลาไม่ถึงครึ่งชั่วโมง

แต่ก่อนอื่นมีทฤษฎีเล็กน้อย โปรโตคอล FTP(File Transfer Protocol) มีวัตถุประสงค์เพื่อถ่ายโอนไฟล์ตามชื่อและปรากฏในปี 1971 แต่ถึงแม้จะอายุมากแล้วก็ยังใช้กันอย่างแพร่หลายจนถึงทุกวันนี้ แม้ว่าในปัจจุบันการใช้งานจะมีลักษณะทางเทคนิคมากกว่าในการเข้าถึง ผู้ใช้ปลายทางโดยปกติแล้วข้อมูลจะเข้าถึงได้โดยใช้เบราว์เซอร์และ โปรโตคอล HTTP- ข้อดีของ FTP ได้แก่ ความสามารถในการดาวน์โหลดไฟล์ต่อเมื่อการเชื่อมต่อขาดหาย และความสามารถในการอ่านและเขียนไฟล์ได้อย่างง่ายดายพอๆ กัน แต่ก็มีข้อเสียเช่นกัน ข้อเสียที่ร้ายแรงที่สุดคือความปลอดภัยต่ำ ดังนั้นปัญหานี้จึงควรได้รับความสนใจมากที่สุด

FTP เช่นเดียวกับ PPTP ใช้ การเชื่อมต่อที่แตกต่างกันสำหรับส่งคำสั่งและส่งข้อมูล เมื่อการเชื่อมต่อเริ่มต้นขึ้น ไคลเอนต์จะส่งคำสั่งควบคุมไปยังพอร์ต 21 ของเซิร์ฟเวอร์ ซึ่งจะตั้งค่าตามลำดับ การเชื่อมต่อขาออกสำหรับการส่งข้อมูลบนพอร์ต 20 พอร์ตบนฝั่งไคลเอ็นต์จะถูกกำหนดตามผลการเจรจา แต่ถ้าลูกค้าอยู่ข้างหลัง การเชื่อมต่อแบบ NAT ในทำนองเดียวกันไม่สามารถติดตั้งได้จึงถูกพัฒนา โหมดเพิ่มเติมโหมดพาสซีฟ FTP เมื่อการเชื่อมต่อสำหรับการถ่ายโอนข้อมูลไม่ได้ถูกสร้างขึ้นโดยเซิร์ฟเวอร์ แต่โดยไคลเอนต์ แต่ด้วยพารามิเตอร์ ระบุโดยเซิร์ฟเวอร์- ควรคำนึงถึงประเด็นเหล่านี้เมื่อส่งต่อ FTP และเมื่อตั้งค่าตัวกรองเครือข่าย

สำหรับเซิร์ฟเวอร์ของเราเราจะใช้ vsftpd- เซิร์ฟเวอร์ FTP ที่ง่าย รวดเร็วและปลอดภัย เนื่องจากจะให้บริการทั้งภายนอกและ เครือข่ายภายในดังนั้นจึงสมเหตุสมผลที่จะเพิ่มบทบาทนี้ให้กับ . การติดตั้งเซิร์ฟเวอร์นั้นง่ายมาก:

ฉลาดรับการติดตั้ง vsftpd

เซิร์ฟเวอร์ได้รับการกำหนดค่าผ่านทาง ไฟล์การกำหนดค่า /etc/vsftpd.confเขามี โครงสร้างที่เรียบง่ายได้รับความเห็นอย่างดีและอนุญาตให้คุณตั้งค่าเซิร์ฟเวอร์โดยไม่ต้องมีคำแนะนำใดๆ โดยมีความรู้เพียงเล็กน้อย พิจารณาพารามิเตอร์หลัก

เซิร์ฟเวอร์สามารถเปิดใช้งานได้อย่างต่อเนื่องเป็นบริการหรือเริ่มต้นเมื่อจำเป็น ตัวเลือกแรกเหมาะสำหรับเรามากกว่า:

ฟัง=ใช่

ตัวเลือกนี้มีรายการพิเศษร่วมกัน ซึ่งควรได้รับแบบฟอร์มต่อไปนี้:

Listen_ipv6=ไม่ใช่

อนุญาตให้เฉพาะผู้ใช้ภายในเท่านั้นที่จะเข้าสู่ระบบ:

Anonymous_enable=ไม่ใช่
local_enable=ใช่

ให้ผู้ใช้สามารถเขียนไฟล์และบอกให้เซิร์ฟเวอร์ตั้งค่าอัตโนมัติ สิทธิที่จำเป็น(755 สำหรับโฟลเดอร์และ 644 สำหรับไฟล์):

Write_enable=ใช่
local_umask=022

หากคุณต้องการตั้งค่าสิทธิ์ชุดอื่น: 775 และ 664 ดังนั้น umask ควรเท่ากับ 002

ตามค่าเริ่มต้น เซิร์ฟเวอร์จะใช้เวลา GMT เพื่อให้ไฟล์ได้รับการตั้งค่าตามเขตเวลาของคุณ ให้ใช้ตัวเลือก:

Use_localtime=ใช่

มาเปิดใช้งานบันทึกของไฟล์ที่อัพโหลดและดาวน์โหลด:

Xferlog_enable=ใช่

อนุญาตให้เซิร์ฟเวอร์สร้างการเชื่อมต่อเพื่อส่งข้อมูลบนพอร์ต 20 (โหมดที่ใช้งานอยู่):

Connect_from_port_20=ใช่

ตัวเลือกต่อไปนี้ระบุตำแหน่งและรูปแบบสำหรับการจัดเก็บบันทึก:

Xferlog_file=/var/log/vsftpd.log
xferlog_std_format=ใช่

มาตั้งค่าการหมดเวลาของเซสชัน:

Idle_session_timeout=600
data_connection_timeout=120

นอกจากนี้ ด้วยเหตุผลด้านความปลอดภัย เราจึงแยกผู้ใช้ออกจากกัน โฮมไดเร็กทอรีและอนุญาตให้เขียนถึงรูทของมันทันที:

Chroot_local_user=ใช่
Allow_writeable_chroot=ใช่

เพื่อให้ทำงานอย่างถูกต้องกับข้อมูลข้อความ คุณสามารถเปิดใช้งานการสนับสนุน ASCII ซึ่งจะช่วยให้คุณสามารถถ่ายโอนได้ ไฟล์ข้อความกับ ระบบวินโดวส์ใน UNIX (Linux) แทนที่ตัวแบ่งบรรทัดจาก CR+LF เป็น LF อย่างถูกต้องเพื่อการแสดงเนื้อหาและดำเนินการอย่างถูกต้อง การแปลงผกผันเมื่อส่งคืนแล้ว

Ascii_upload_enable=ใช่
ascii_download_enable=ใช่

คุณสามารถเปิดใช้งานได้เพียงตัวเลือกเดียวเท่านั้นสำหรับการอัพโหลดหรือดาวน์โหลด โปรดทราบว่าเมื่อทำการโอน ไฟล์ไบนารีในโหมด ASCII ตัวหลังอาจได้รับความเสียหาย

เป็นตัวเลือกที่น่าสนใจทีเดียว:

Ls_recurse_enable=ใช่

อนุญาตให้เรียกดูไดเร็กทอรีแบบเรียกซ้ำในอีกด้านหนึ่งสะดวก แต่ในทางกลับกันก็อาจทำให้เกิดได้ ภาระหนักไปยังเซิร์ฟเวอร์ ตัวอย่างเช่น คุณได้รับรายการไดเร็กทอรีที่มี จำนวนมากไฟล์และไดเร็กทอรี

เราปล่อยให้ตัวเลือกอื่นๆ ทั้งหมดเป็นค่าเริ่มต้น แม้ว่าคุณจะสามารถแก้ไขคำทักทายของเซิร์ฟเวอร์ได้โดยการเขียนตามที่คุณต้องการ:

Ftpd_banner=ยินดีต้อนรับสู่ Roga และ Kopyta LLC FTP

ในตอนท้ายของไฟล์การกำหนดค่าเราจะตั้งค่าสำหรับ โหมดพาสซีฟขอแนะนำให้ตั้งค่าพอร์ตอย่างชัดเจนเพื่อให้คุณสามารถระบุพอร์ตเหล่านั้นได้ในระหว่างการส่งต่อหากเซิร์ฟเวอร์อยู่หลัง NAT หรืออยู่ในกฎไฟร์วอลล์:

Pasv_enable=ใช่
pasv_min_port=62000
pasv_max_port=62999

รีสตาร์ทเซิร์ฟเวอร์ (ต้องทำทุกครั้งหลังจากทำการเปลี่ยนแปลงการกำหนดค่า):

บริการ vsftpd รีสตาร์ท

และลองเชื่อมต่อโดยใช้ไคลเอนต์ FTP ใด ๆ โดยใช้ข้อมูลรับรองของผู้ใช้ที่มีอยู่ เราต้องเข้าไปในโฮมไดเร็กตอรี่ของเขาและแยกตัวอยู่ในนั้น

หากมีข้อผิดพลาดเกิดขึ้นเกี่ยวกับ งานที่ไม่ถูกต้องระบบรักษาความปลอดภัย vsftpd และ seccomp:

500 OOPS: prctl PR_SET_SECOMP ล้มเหลว

เพิ่มตัวเลือกที่ไม่มีเอกสารลงในไฟล์:

Seccomp_sandbox=ไม่ใช่

อย่างไรก็ตาม โปรดจำไว้ว่า FTP เป็นโปรโตคอลที่ไม่ปลอดภัย ดังนั้นการอนุญาตให้ผู้ใช้ภายในเครื่องไปยังเซิร์ฟเวอร์ ดังที่ทำอยู่ตอนนี้จึงไม่ใช่วิธีที่ดีที่สุด ตัวเลือกที่ดีที่สุด- เพื่อหลีกเลี่ยงสถานการณ์นี้ vsftpd มีกลไกการควบคุมผู้ใช้ในตัว มาเพิ่มตัวเลือกให้กับไฟล์กำหนดค่า:

Userlist_enable=ใช่

และสร้างไฟล์รายชื่อผู้ใช้:

แตะ /etc/vsftpd.user_list

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

Userlist_deny=ไม่ใช่

ขณะนี้มีเพียงผู้ใช้ที่ระบุอย่างชัดเจนเท่านั้นที่จะสามารถเข้าถึงเซิร์ฟเวอร์ FTP ได้ ควรระบุพวกเขา vsftpd.user_listหนึ่งรายการต่อบรรทัด ตัวอย่างเช่น:

อีวานอฟ
เปตรอฟ

เว้นแต่จะระบุไว้เป็นอย่างอื่นแล้วโดยการเชื่อมต่อผ่าน ผู้ใช้เอฟทีพีจบลงที่โฮมไดเร็กตอรี่ของพวกเขา สิ่งนี้ไม่สะดวกเสมอไป คุณมักจะต้องเปลี่ยนเส้นทางไปยังไดเร็กทอรีอื่น หากนี่เป็นโฟลเดอร์ทั่วไปสำหรับทุกคน ให้พูดว่า /var/ftp คุณสามารถตั้งค่าตัวเลือกได้:

Local_root=/var/ftp

ซึ่งจะเปลี่ยนเส้นทางผู้ใช้ทั้งหมดไปที่ ไดเร็กทอรีที่ระบุและแยกพวกเขาออกจากที่นั่น

นี่เป็นสถานการณ์ที่ง่ายที่สุด งานจริงมักจะซับซ้อนกว่า สมมติว่าเราจำเป็นต้องตั้งค่าผู้ใช้ Ivanova เป็นไดเรกทอรีราก /var/www/example1.comและเปตรอฟ /var/www/example2.comเพื่อให้แต่ละคนทำงานกับโฟลเดอร์ของตนเองได้ เพื่อจุดประสงค์เหล่านี้ คุณสามารถใช้ฟีเจอร์อื่นของ vsftpd - การตั้งค่าแบบกำหนดเองซึ่งซ้อนทับการตั้งค่าของไฟล์การกำหนดค่าหลัก

โดยเพิ่มตัวเลือก:

User_config_dir=/etc/vsftpd_user_conf

จากนั้นเราจะสร้างไดเร็กทอรีขึ้นมาเอง

Mkdir /etc/vsftpd_user_conf

เพื่อตั้งค่าผู้ใช้ การตั้งค่าของตัวเองในไดเร็กทอรีนี้ คุณควรสร้างไฟล์ด้วยชื่อผู้ใช้และเพิ่มเข้าไป ตัวเลือกที่จำเป็น- การเปลี่ยนแปลงจะถูกนำไปใช้โดยไม่ต้องรีสตาร์ทเซิร์ฟเวอร์ FTP เมื่อ การเชื่อมต่อครั้งต่อไปลูกค้า.

มาสร้างไฟล์ด้วยการตั้งค่าสำหรับ Ivanov:

โทคูห์ /etc/vsftpd_user_conf/ivanov

และเพิ่มตัวเลือกเข้าไป:

Local_root=/var/www/example1.com

ครั้งต่อไปที่คุณเชื่อมต่อ ไดเรกทอรีรากผู้ใช้จะเปลี่ยนเป็นแบบที่ระบุ นอกจากนี้ในไฟล์นี้เราสามารถตั้งค่าตัวเลือกส่วนบุคคลได้ เช่น อื่นๆ อูมาสค์หรือการอนุญาตไฟล์ อย่างไรก็ตามเราไม่สามารถใช้ที่นี่ได้ การตั้งค่าส่วนกลาง: การเชื่อมต่อ การบันทึก ตัวเลือกการรับรองความถูกต้อง พวกเขาจะถูกละเว้น

หากจำเป็นต้องซ่อนตัว เจ้าของที่แท้จริงไฟล์และโฟลเดอร์ จากนั้นคุณสามารถใช้ตัวเลือกนี้ได้

ฝั่งเซิร์ฟเวอร์ สำหรับการดูแลระบบ MySQL ได้รับการติดตั้งและป้องกันจากภายนอก สิ่งเดียวที่ขาดหายไปคือ เซิร์ฟเวอร์ ftp- ทุกคนคุ้นเคยกับการอัพโหลดไฟล์ไปยังโฮสติ้งแล้ว ไคลเอนต์ FTPดังนั้นจึงไม่มีอะไรเหลือให้ทำนอกจากติดตั้งและกำหนดค่าให้กับคุณ เซิร์ฟเวอร์เสมือนรองรับเอฟทีพี

ภายใต้ ลินุกซ์มีเซิร์ฟเวอร์ ftp จำนวนมากถูกสร้างขึ้น แต่ฉันชอบมัน vsftpd- ติดตั้งง่ายและทำงานได้อย่างสมบูรณ์แบบ ในการติดตั้ง vsftpdในหน้าต่างเทอร์มินัลให้รันคำสั่ง:

ฉลาดรับการติดตั้ง vsftpd

การติดตั้ง vsftpd บน Debian 7 ใช้เวลาสองนาทีอย่างแท้จริง

การตั้งค่า vsftpd

การตั้งค่า vsftpd ทั้งหมดจะถูกจัดเก็บไว้ในไฟล์ /etc/vsftpd.conf- มาเปิดมันในตัวแก้ไขนาโนและทำการปรับเปลี่ยนเล็กน้อย:

นาโน /etc/vsftpd.conf

สิ่งแรกที่คุณต้องทำในไฟล์การตั้งค่าคือตั้งค่าการห้ามการเชื่อมต่อผู้ใช้ที่ไม่ระบุชื่อ การหาทางเลือก “ไม่ระบุชื่อ_เปิดใช้งาน”และกำหนดค่าให้กับมัน "เลขที่"- จากนั้นยกเลิกการแสดงความคิดเห็นตัวเลือก "local_เปิดใช้งาน"และ “write_เปิดใช้งาน”- ตัวเลือกแรกอนุญาตให้ผู้ใช้ที่ลงทะเบียนในระบบสามารถเข้าสู่ระบบเซิร์ฟเวอร์ได้ ส่วนที่สองอนุญาตให้ผู้ใช้ดำเนินการคำสั่งเขียน FTP ใดก็ได้

การดำเนินการสุดท้ายในไฟล์กำหนดค่าคือการยกเลิกการใส่ข้อคิดเห็นตัวเลือก chroot_local_user- หากตั้งค่าเป็น "ใช่" (ซึ่งเป็นค่าเริ่มต้น) ผู้ใช้ระบบทั้งหมดจะอยู่ภายใน chroot และจะไม่สามารถเข้าถึงไดเร็กทอรีอื่นบนเซิร์ฟเวอร์

บันทึกการเปลี่ยนแปลง ( Ctrl+o) และปิดไฟล์ ( Ctrl+x- ทีนี้เรามาลองทดสอบกัน การทำงานของเอฟทีพีเซิร์ฟเวอร์ เมื่อต้องการทำเช่นนี้ เรามาสร้างผู้ใช้ใหม่และสร้างมันขึ้นมา โฮมไดเร็กทอรีโฟลเดอร์ที่เขาสามารถเข้าถึงได้ผ่านทาง FTP

การเพิ่มผู้ใช้ใหม่ทำได้โดยใช้คำสั่ง adduser มาลองสร้างผู้ใช้ใหม่กัน ผู้ใช้:

ผู้ใช้ที่เพิ่ม

ยูทิลิตี้การสร้างผู้ใช้จะถามคำถามหลายข้อ (รหัสผ่าน ข้อมูลสนับสนุนต่างๆ) คุณสามารถเพิกเฉยต่อคำถามที่ขอข้อมูลเพิ่มเติม (โทรศัพท์ หมายเลขห้อง ฯลฯ) ได้โดยการกดปุ่ม "Enter" สมมติว่าผู้ใช้ถูกสร้างขึ้นแล้ว ตอนนี้มาเพิ่มกัน กลุ่มใหม่ผู้ใช้เว็บและรวมถึงผู้ใช้ผู้ใช้ในนั้น:

Groupadd ผู้ใช้เว็บ usermod -G ผู้ใช้เว็บ

หากคุณไปที่ไดเร็กทอรีตอนนี้ /บ้านจากนั้นเราจะเห็นว่ามีโฟลเดอร์ปรากฏขึ้นสำหรับผู้ใช้ใหม่ที่เพิ่งสร้าง มาสร้างโฟลเดอร์ใหม่สองโฟลเดอร์ในโฮมไดเร็กตอรี่ของผู้ใช้:

Mkdir /home/user/www mkdir /home/user/logs

อันแรกจะจัดเก็บไฟล์ที่สามารถเข้าถึงได้จากภายนอก (ซึ่งจะเป็นไดเร็กทอรีโฮสต์) และอันที่สองจะถูกใช้เพื่อจัดเก็บบันทึก ตอนนี้เราต้องเปลี่ยนเจ้าของโฟลเดอร์ที่สร้างขึ้น เราสร้างมันขึ้นมาจากเบื้องล่าง รากดังนั้นตอนนี้เจ้าของจึงเป็นผู้ใช้ขั้นสูง การเปลี่ยนความเป็นเจ้าของทำได้ด้วยคำสั่ง cown:

ผู้ใช้ Chown: webusers /home/user/www ผู้ใช้ chown:webusers /home/user/logs chmod 555 /home/user

เสร็จสิ้นขั้นตอนการเตรียมการทั้งหมด สิ่งที่เหลืออยู่คือการรีสตาร์ทเซิร์ฟเวอร์ FTP และลองเชื่อมต่อกับไคลเอนต์บางตัว เริ่มบริการใหม่ vsftpdทำด้วยวิธีดั้งเดิม:

บริการ vsftpd รีสตาร์ท

การทดสอบเซิร์ฟเวอร์ vsftpd ที่กำหนดค่าไว้

จากการทดสอบ เรามาลองเชื่อมต่อบิวท์อินใน Windows กัน คอนโซล ftpลูกค้ากับเซิร์ฟเวอร์ ftp ของเรา เปิด CMD แล้วป้อนคำสั่ง:

เอฟทีพี

หลังจากสร้างการเชื่อมต่อแล้ว โปรแกรมจะขอให้คุณป้อนข้อมูลเข้าสู่ระบบ/รหัสผ่าน กรอกรายละเอียดของผู้ใช้ที่สร้างขึ้นที่นี่ เมื่อคุณเสร็จสิ้นกระบวนการตรวจสอบสิทธิ์แล้ว คุณก็สามารถเริ่มส่งได้ คำสั่ง ftp- ตัวอย่างเช่น, คำสั่งผบขอรายการไดเรกทอรีจากเซิร์ฟเวอร์ ftp หลังจากดำเนินการแล้ว คุณจะเห็นว่ามีสองโฟลเดอร์บนเซิร์ฟเวอร์ - wwwและ บันทึก.

ด้วยเหตุนี้การติดตั้งและการกำหนดค่า vsftpdถือว่าเสร็จสิ้นแล้ว

เกี่ยวกับเซิร์ฟเวอร์ FTP ที่รวดเร็วและปลอดภัย วันนี้เราจะมาดูแง่มุมพื้นฐานของการกำหนดค่า daemon นี้ ที่นี่ฉันได้ดูสิ่งที่ฉันคิดว่าเป็นพารามิเตอร์การกำหนดค่า vsftpd ที่ใช้บ่อยที่สุด อย่าลืมว่า vsftpd มีความยืดหยุ่นในการกำหนดค่ามากและคุณสามารถกำหนดค่าด้วยวิธีพิเศษสำหรับตัวคุณเองได้ตลอดเวลา พารามิเตอร์การกำหนดค่าที่เป็นไปได้ทั้งหมดมีการอธิบายโดยละเอียดในหน้าคู่มือของ daemon ซึ่งฉันขอแนะนำอย่างยิ่งให้ทุกคนที่สนใจและใช้เซิร์ฟเวอร์นี้ดูอย่างรวดเร็วเป็นอย่างน้อย ในบทความต่อๆ ไปเกี่ยวกับ vsftpd เราจะดูประเด็นต่างๆ เช่น การจัดระเบียบโฮสต์ FTP เสมือน การรับรองความถูกต้อง ผู้ใช้เสมือนและการเข้ารหัส SSL

ตามที่กล่าวไว้ในบทความก่อนหน้านี้ ไฟล์คอนฟิกูเรชัน vsftpd อยู่ใน ระบบต่างๆโดยค่าเริ่มต้นจะอยู่ในสถานที่ต่างๆ:

  • ใน FreeBSD - /usr/local/etc/vsftpd.conf
  • ใน Fedora - /etc/vsftpd/vsftpd.conf
  • ในเดเบียน - /etc/vsftpd.conf

หลังจากทำการเปลี่ยนแปลงไฟล์กำหนดค่า vsftpd แล้ว อย่าลืมรีสตาร์ท บน FreeBSD:

# /usr/local/etc/rc.d/vsftpd รีสตาร์ท

บนเดเบียน/เฟโดร่า:

# บริการ vsftpd รีสตาร์ท

การควบคุมการเข้าถึง

โปรดทราบว่าในระหว่างกระบวนการติดตั้ง vsftp ผู้ใช้ที่มีชื่อบัญชีจะถูกเพิ่มเข้าสู่ระบบของคุณ ftp- วัตถุประสงค์ของบัญชีนี้คือเพื่อจัดระเบียบการเข้าถึงไดเรกทอรี FTP ที่ไม่ระบุชื่อ ตามค่าเริ่มต้น vsftpd อนุญาตให้ผู้ใช้ที่ไม่ระบุชื่อเข้าถึงไดเร็กทอรีหลักของบัญชี ftp- อย่าลืมปิดการใช้งานหากคุณไม่ต้องการโดยเปลี่ยนค่าของพารามิเตอร์ที่เกี่ยวข้อง:

Anonymous_enable=ไม่ใช่

หากอนุญาตให้ผู้ใช้ที่ไม่ระบุชื่อเข้าถึงเซิร์ฟเวอร์ FTP ของคุณ คุณสามารถปิดใช้งานคำขอรหัสผ่านเพิ่มเติมสำหรับการเข้าสู่ระบบแบบไม่ระบุชื่อได้:

No_anon_password=ใช่

เข้าถึง ผู้ใช้ท้องถิ่นโดยปกติระบบจะถูกปิดใช้งานตามค่าเริ่มต้น คุณสามารถเปิดใช้งานได้หากจำเป็นดังนี้:

Local_enable=ใช่

เพื่อป้องกันไม่ให้ผู้ใช้ในพื้นที่ของคุณโรมมิ่งเหนือโฮมไดเร็กทอรี คุณสามารถเปิดใช้งานข้อจำกัดต่อไปนี้:

Chroot_local_user=ใช่

คุณยังสามารถใช้วิธีอื่นได้ โครตผู้ใช้ ซึ่งไม่ใช่ผู้ใช้ทุกคนจะถูกจำกัด แต่เฉพาะผู้ใช้ที่กำหนดไว้อย่างชัดเจนเท่านั้น ในการดำเนินการนี้ คุณจะต้องตั้งค่าพารามิเตอร์ chroot_local_userเท่ากัน เลขที่ให้สร้างไฟล์พร้อมรายชื่อผู้ใช้ที่ต้องการ โครตจะต้องดำเนินการ (เช่นใน /etc/vsftpd.chroot_list) และกำหนดพารามิเตอร์สองตัวต่อไปนี้:

Chroot_list_enable=ใช่ chroot_list_file=/etc/vsftpd.chroot_list

โปรดทราบว่าหากมีพารามิเตอร์สองตัวที่กำหนดไว้ข้างต้น ค่าพารามิเตอร์ chroot_local_userมีความเท่าเทียมกัน ใช่, ที่ บัญชีระบุไว้ในไฟล์ chroot_list_fileจะไม่อยู่ภายใต้ข้อจำกัด โครต.

หากคุณต้องการจำกัดปริมาณ การเชื่อมต่อพร้อมกันสำหรับ vsftpd มีสองวิธีในการทำเช่นนี้: การใช้ความสามารถของ superserver หรือหาก daemon ของคุณกำลังทำงานอยู่ โหมดออฟไลน์โดยใช้พารามิเตอร์ (แน่นอนว่าแทนที่ 10 ด้วยจำนวนการเชื่อมต่อพร้อมกันที่อนุญาตที่คุณต้องการ):

Max_clients=10

ตามค่าเริ่มต้น การกำหนดค่า vsftpd จะปิดใช้งานคำสั่ง FTP สำหรับการสร้างไฟล์และไดเร็กทอรีใหม่ ดังนั้นผู้ใช้ภายในของคุณจะไม่สามารถเข้าถึงการเขียนไปยังโฮมไดเร็กตอรี่ของตนตามค่าเริ่มต้น สิ่งนี้สามารถแก้ไขได้อย่างง่ายดายโดยการกำหนดพารามิเตอร์ write_enable:

Write_enable=ใช่

หลังจากพารามิเตอร์ในการกำหนดค่าเซิร์ฟเวอร์ของคุณ write_enableกำหนดให้เท่ากับ ใช่และ ไม่ระบุชื่อ_เปิดใช้งานกำหนดให้เป็น ใช่คุณสามารถควบคุมการเข้าถึงเกี่ยวกับการสร้างไฟล์/ไดเร็กทอรีใหม่โดยผู้ใช้ที่ไม่ระบุชื่อ อนุญาตให้ผู้ใช้ที่ไม่ระบุชื่อสร้างไดเร็กทอรีใหม่:

Anon_mkdir_write_enable=ใช่

อนุญาตให้ผู้ใช้ที่ไม่ระบุชื่อสามารถลบและเปลี่ยนชื่อไฟล์และไดเร็กทอรี:

Anon_other_write_enable=ใช่

อนุญาตให้ผู้ใช้ที่ไม่ระบุชื่ออัปโหลดไฟล์ใหม่:

Anon_upload_enable=ใช่

คุณสามารถจำกัดอัตราแลกเปลี่ยนข้อมูลสำหรับผู้ใช้ที่ไม่ระบุชื่อในโหมดเซิร์ฟเวอร์ออฟไลน์ พารามิเตอร์ต่อไปนี้(ค่าระบุเป็นไบต์/วินาที):

อานนท์_max_rate=1024

ตามค่าเริ่มต้น umask ของไฟล์ vsftpd จะเท่ากับ 077 นั่นคือไฟล์จะถูกสร้างขึ้นเพื่ออ่าน/เขียนสำหรับเจ้าของเท่านั้น คุณสามารถเปลี่ยนค่า Umask ของผู้ใช้ที่ไม่ระบุชื่อได้โดยใช้พารามิเตอร์ anon_umask:

อานนท์_มาสค์=022

และสำหรับท้องถิ่น - โดยใช้พารามิเตอร์ local_umask:

Local_umask=022

หากจำเป็น คุณสามารถป้องกันไม่ให้ผู้ใช้ดาวน์โหลดไฟล์จากเซิร์ฟเวอร์ของคุณได้:

Download_enable=ไม่ใช่

บางครั้งการซ่อน ID ที่แท้จริงของเจ้าของไฟล์โดยการแทนที่ด้วย ID ผู้ใช้ก็มีประโยชน์ ftp:

Hide_ids=ใช่

การตั้งค่าเครือข่าย

หาก vsftpd ของคุณทำงานในโหมดสแตนด์อโลนและไม่ผ่าน xinetdจากนั้นคุณจะต้องระบุสิ่งนี้อย่างชัดเจน:

ฟัง=ใช่

เช่นเดียวกับ IPv6 (โปรดจำไว้ว่า daemon สามารถทำงานได้กับ IPv4 หรือ IPv6 ในเวลาเดียวกันเท่านั้น):

Listen_ipv6=ใช่

คุณสามารถกำหนดที่อยู่ IPv4 ที่ daemon ควร "แฮงค์" ได้โดยใช้พารามิเตอร์:

Listen_address=192.168.0.1

Listen_address6=fe80:0:0:0:202:b3ff:fe1e:8329

หากจำเป็น คุณสามารถปิดการใช้งานความสามารถสำหรับไคลเอ็นต์ในการใช้โหมด PASV:

Pasv_enable=ไม่ใช่

เบ็ดเตล็ด

ตั้งแต่เวอร์ชัน 2.0.7 เป็นต้นไป vsftpd สามารถลบการดาวน์โหลดที่ล้มเหลวได้ หากคุณกำหนดพารามิเตอร์ต่อไปนี้:

Delete_failed_uploads=ใช่

ตามค่าเริ่มต้น vsftpd จะแสดงการประทับเวลาของไฟล์ในรูปแบบ GMT หากคุณต้องการให้แสดงตามเวลาท้องถิ่นของเซิร์ฟเวอร์ ให้ใช้ตัวเลือกต่อไปนี้

FTP หรือ File Transfer Protocol เป็นโปรโตคอลที่ค่อนข้างเก่า แต่ในขณะเดียวกันก็เชื่อถือได้และได้รับการพิสูจน์แล้วสำหรับการอัปโหลดไฟล์ไป เซิร์ฟเวอร์ระยะไกลหรือดาวน์โหลด นอกจากนี้ บางครั้งเว็บมาสเตอร์ยังใช้โปรโตคอลนี้เพื่อจัดการไฟล์หรือจัดระเบียบการจัดเก็บข้อมูล

ในบทความนี้เราจะมาดูวิธีการทำ การติดตั้งเอฟทีพีบน Ubuntu 16.04 วิธีกำหนดค่าส่วนประกอบที่จำเป็นทั้งหมด รวมถึงการเชื่อมต่อที่ปลอดภัย เราจะใช้เซิร์ฟเวอร์ FTP VSFTPD หรือ Very Secure FTP Daemon ซึ่งให้ประโยชน์สูงสุด การป้องกันที่เชื่อถือได้จากจุดอ่อน

โปรแกรมนี้หาได้จากแหล่งเก็บข้อมูลอย่างเป็นทางการ ดังนั้นให้ติดตั้ง FTP เซิร์ฟเวอร์อูบุนตู 16.04 ไม่ควรทำให้เกิดปัญหา ขั้นแรก อัพเดตรายการแพ็กเกจในที่เก็บ จากนั้นติดตั้งโปรแกรมเอง:

อัปเดต sudo apt
$ sudo apt ติดตั้ง vsftpd

เมื่อการติดตั้งเสร็จสมบูรณ์ คุณจะต้องเปิดใช้งานบริการ vsftpdเนื่องจากจะไม่เริ่มทำงานตามค่าเริ่มต้น และยังเพิ่มบริการในการเริ่มต้นด้วย:

sudo systemctl เริ่ม vsftpd
$ sudo systemctl เปิดใช้งาน vsftpd

หากคุณติดตั้งไฟร์วอลล์ ufw และสถานการณ์นี้เกิดขึ้นเมื่อคุณพยายามติดตั้ง FTP บนเซิร์ฟเวอร์ Ubuntu คุณต้องเปิดพอร์ต 20 และ 21 สำหรับ การทำงานปกติ- เมื่อต้องการทำสิ่งนี้ ให้รันคำสั่ง:

sudo ufw อนุญาต 20/tcp
$ sudo ufw อนุญาต 21/tcp
$ sudo ufw สถานะ

การติดตั้ง Ubuntu FTP เสร็จสมบูรณ์ แต่ตอนนี้คุณเพียงแค่ต้องกำหนดค่าทุกสิ่งที่คุณต้องการเพื่อให้มั่นใจ การทำงานที่ปลอดภัย- อย่าใช้เซิร์ฟเวอร์ FTP ด้วยการตั้งค่าเริ่มต้นบนเครือข่ายที่ใช้งานจริง เพราะมันไม่ปลอดภัย

การตั้งค่า FTP อูบุนตู

ตอนนี้เรามาดูการตั้งค่ากันดีกว่า เราจำเป็นต้องเปลี่ยนพารามิเตอร์เพียงไม่กี่ตัวเพื่อรักษาความปลอดภัยเซิร์ฟเวอร์ FTP ของคุณอย่างสมบูรณ์ ก่อนอื่นเราจะดูการตั้งค่าที่ชัดเจนที่สุด: การปิดใช้งานการเข้าสู่ระบบแบบไม่ระบุชื่อและอื่น ๆ ก่อนอื่นคุณต้องคัดลอกไฟล์การตั้งค่าดั้งเดิมเพื่อที่ว่าในกรณีที่เกิดปัญหาคุณสามารถคืนทุกอย่างเหมือนเดิม:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

จากนั้นเปิดไฟล์ในตัวแก้ไข:

sudo vi /etc/vsftpd.conf

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

anonymous_enable = ไม่

เราอนุญาตให้ใช้ชื่อผู้ใช้ท้องถิ่นเพื่อเข้าสู่ระบบ:

write_enable = ใช่

ตั้งค่า อูมาสค์สำหรับไฟล์ใหม่ที่สร้างผ่าน FTP:

local_umask = 022

เรามีข้อความเกี่ยวกับความจำเป็นในการเลือกไดเร็กทอรีหลังการลงทะเบียน:

dirmessage_enable = ใช่

บันทึกธุรกรรมการถ่ายโอนไฟล์ทั้งหมดลงในไฟล์บันทึกและใช้งาน รูปแบบมาตรฐานบันทึก:

xferlog_enable = ใช่
xferlog_std_format=ใช่

ใช้พอร์ต 20 สำหรับการส่งข้อมูลแทนการสุ่ม ซึ่งจำเป็นสำหรับการทำงานของไฟร์วอลล์ปกติ:

Connect_from_port_20 = ใช่

เราระบุว่าเราต้องรอการเชื่อมต่อขาเข้า:

ใช้บริการแพม vsftpd:

pam_service_name=vsftpd

สุดท้ายนี้ เราจะอนุญาตให้มีการตรวจสอบสิทธิ์เฉพาะผู้ใช้ที่อยู่ในรายการไฟล์เท่านั้น รายชื่อผู้ใช้:

userlist_enable = ใช่

เราระบุไฟล์กับผู้ใช้เสมือนของเรา:

userlist_file=/etc/vsftpd.userlist

ตามค่าเริ่มต้น ผู้ใช้ดังกล่าวจะไม่ได้รับอนุญาตให้เข้าสู่ระบบ แต่เราต้องการสิ่งที่ตรงกันข้าม ดังนั้นให้เพิ่มบรรทัดนี้:

userlist_deny=ไม่ใช่

เมื่อผู้ใช้เข้าสู่ระบบเซิร์ฟเวอร์ FTP ผู้ใช้จะสามารถทำงานได้เฉพาะในไดเร็กทอรีรากของ FTP เท่านั้น หากคุณต้องการให้ผู้ใช้ถูกจำกัดไว้เพียงโฟลเดอร์หลัก คุณต้องยกเลิกการใส่เครื่องหมายข้อคิดเห็นบรรทัดเหล่านี้:

chroot_local_user = ใช่
Allow_writeable_chroot = ใช่

บรรทัดแรกระบุว่าผู้ใช้ควรถูกวางไว้ในไดเร็กทอรีหลักที่แยกออกมา และบรรทัดที่สองที่เขาสามารถได้รับอนุญาตให้เขียนลงในไดเร็กทอรีนี้ได้ การตั้งค่า FTP Ubuntu ใกล้เสร็จแล้ว โปรดบันทึกการเปลี่ยนแปลงในไฟล์ปรับแต่งแล้วรีสตาร์ท vsftpd:

sudo systemctl รีสตาร์ท vsftpd

การทดสอบ vsftpd

เซิร์ฟเวอร์พร้อมแล้ว แต่ระบบยังกำหนดค่าไม่ครบถ้วน ขั้นแรกเรามาสร้างผู้ใช้ทดสอบของเราโดยใช้ ผู้ใช้เพิ่ม:

sudo useradd -m -c "ผู้ใช้ทดสอบ" -s /bin/bash testuser
$ sudo passwd ผู้ทดสอบ

เนื่องจากเราต้องการเชื่อมต่อกับเซิร์ฟเวอร์ FTP ในนามของเซิร์ฟเวอร์ เราจึงต้องเพิ่มมันลงใน vsftpd.userlist:

echo "ผู้ทดสอบ" | sudo tee -a /etc/vsftpd.userlist
$ cat /etc/vsftpd.userlist

ตอนนี้เป็นเวลาเชื่อมต่อกับเซิร์ฟเวอร์ FTP ของเราและตรวจสอบว่าทุกอย่างทำงานอย่างไร ลองเข้าสู่ระบบในฐานะผู้ใช้ที่ไม่ระบุชื่อ:

เราจะไม่ประสบความสำเร็จ ตอนนี้เรามาลองเข้าสู่ระบบในฐานะผู้ใช้ทดสอบของเรา แล้วทุกอย่างจะทำงานอย่างที่ควรจะเป็น

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

การตั้งค่าโฮมโฟลเดอร์ของผู้ใช้

เพื่อแก้ไขปัญหาด้านความปลอดภัย คุณสามารถใช้โฟลเดอร์อื่นแทนโฮมโฟลเดอร์เพื่อมอบให้กับผู้ใช้ได้ ขั้นแรก เรามาสร้างโฟลเดอร์แบบนี้สำหรับผู้ใช้ของเรา:

sudo mkdir -p /home/testuser/ftp/files

มาลบสิทธิ์การเขียนสำหรับโฟลเดอร์ ftp:

sudo chown ไม่มีใคร: nogroup /home/testuser/ftp
$sudo chmod aw/home/testuser/ftp

จากนั้นให้สิทธิ์ที่จำเป็นแก่ผู้ใช้ในการเขียนไปยังโฟลเดอร์ย่อย

sudo chown -R testuser:testuser /home/testuser/ftp/files
$ sudo chmod -R 0770 /home/testuser/ftp/files/

ตอนนี้กลับมาที่ไฟล์คอนฟิกูเรชัน vsftpd.conf แสดงความคิดเห็นในบรรทัดแรก:

Allow_writeable_chroot = ใช่

ตอนนี้เพิ่มบรรทัดเหล่านี้:

user_sub_token = $USER
local_root=/home/$USER/ftp

ตัวแรกจะเพิ่มตัวแปร $USER ซึ่งมีชื่อผู้ใช้และชุดที่สอง โฟลเดอร์รูทสำหรับผู้ใช้แต่ละคน สิ่งที่เหลืออยู่คือการรีสตาร์ทเซิร์ฟเวอร์ FTP อีกครั้ง:

sudo systemctl รีสตาร์ท vsftpd

ตอนนี้คุณสามารถเข้าสู่ระบบในฐานะผู้ใช้นั้นได้อีกครั้ง และคุณจะเห็นว่าโฟลเดอร์ที่เราระบุนั้นถูกใช้งานอยู่

การตั้งค่าการเชื่อมต่อที่ปลอดภัย

การติดตั้ง FTP บน Ubuntu 16.04 เสร็จสมบูรณ์ แต่ปัจจุบันการใช้การถ่ายโอนข้อมูลแบบเปิดผ่านเครือข่ายไม่ปลอดภัย ทุกสิ่งที่เป็นไปได้ควรได้รับการเข้ารหัส ดังนั้นเราจะดูวิธีตั้งค่าการเชื่อมต่อที่ปลอดภัยสำหรับ vsftpd ขั้นแรก มาสร้างโฟลเดอร์และสร้างใบรับรองที่เราจะใช้:

sudo mkdir /etc/ssl/private.php
$ sudo openssl req -x509 -nodes -days 720 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/private/vsftpd.pem

จากนั้นคุณจะต้องอนุญาตให้เข้าถึงพอร์ตที่ได้รับการป้องกัน การเชื่อมต่อ FTPจากไฟร์วอลล์ UFW:

sudo ufw อนุญาต 990/tcp
$ sudo ufw อนุญาต 40,000:50000/tcp
$ sudo ufw สถานะ

สิ่งที่เหลืออยู่คือทำการเปลี่ยนแปลงการตั้งค่าของเซิร์ฟเวอร์ FTP เล็กน้อย เราจำเป็นต้องเปิดใช้งาน ssl_enableและปิดใช้งานการสนับสนุนการเข้ารหัส sslv2และ sslv3เราไปเท่านั้น tlsv1:

ssl_enable=ใช่
ssl_tlsv1=ใช่
ssl_sslv2=ไม่ใช่
ssl_sslv3=ไม่ใช่

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key

ป้องกันไม่ให้ผู้ใช้ที่ไม่ระบุชื่อเข้าสู่ระบบผ่าน SSL:

Allow_anon_ssl=ไม่ใช่
force_local_data_ssl=ใช่
force_local_logins_ssl=ใช่

ตอนนี้มาติดตั้งการเข้ารหัส SSL ที่ซับซ้อนที่สุด:

ssl_ciphers=สูง

และกำหนดค่าช่วงของพอร์ตสำหรับการถ่ายโอนข้อมูล:

pasv_min_port=40000
pasv_max_port=50000

ยังคงต้องเริ่มบริการของเราใหม่:

sudo systemctl รีสตาร์ท vsftpd

ตอนนี้เรามาทดสอบสิ่งที่เราได้รับ:

ตอนนี้ข้อมูลทั้งหมดจะถูกส่งผ่านการเชื่อมต่อที่เข้ารหัส การติดตั้ง Ubuntu FTP Server เสร็จสมบูรณ์

ข้อสรุป

ในบทความนี้ เราได้ดูวิธีการติดตั้ง FTP บน Ubuntu Server 16.04 รวมถึงวิธีกำหนดค่า FTP เพื่อความปลอดภัยสูงสุด รวมถึงการตั้งค่าผ่าน SSL หากคุณมีคำถามใด ๆ ถามในความคิดเห็น!

หากคุณติดตั้งบริการ vsftpd ไว้แล้ว ให้ตรงไปที่จุดที่ 2 มิฉะนั้นตามลำดับ:
1. บี การกระจายเดเบียนให้ดำเนินการคำสั่ง: apt-get ติดตั้ง vsftpd
การดำเนินการทั้งหมดในการดาวน์โหลดและติดตั้งจะใช้เวลาประมาณ 1-3 นาที คุณต้องตอบ "y" สำหรับคำถามของโปรแกรมติดตั้ง
2. ค้นหาไฟล์การกำหนดค่า ของบริการนี้เขานอนอยู่ /etc/vsftpd.confเราแก้ไขเป็นนาโนหรือในตัว ผู้บัญชาการเที่ยงคืนบรรณาธิการ
นาโน /etc/vsftpd.conf
ต่อไปเราจะตรวจสอบการตั้งค่าบางอย่างที่อธิบายไว้ในนั้น:
— ตั้งค่าการห้ามการเชื่อมต่อผู้ใช้ที่ไม่ระบุชื่อ ค้นหาตัวเลือก “ ไม่ระบุชื่อ_เปิดใช้งาน"และกำหนดค่าให้กับมัน" เลขที่«.
— ลบความคิดเห็นออกจากตัวเลือก “ local_enable" และ " write_enable- (ตัวเลือกแรกอนุญาตให้ผู้ใช้ที่ลงทะเบียนในระบบใช้ล็อกอินและรหัสผ่านเพื่อเข้าสู่เซิร์ฟเวอร์ / ตัวเลือกที่สองอนุญาตให้ผู้ใช้ดำเนินการคำสั่งบันทึก FTP ใด ๆ )
- เราพบ " chroot_local_user" หากส่วนเสริมนี้ถูกตั้งค่าเป็น " ใช่"(น่าจะเป็นค่าเริ่มต้น) ผู้ใช้ระบบทั้งหมดจะอยู่ในไดเร็กทอรี chroot และจะไม่สามารถเข้าถึงไดเร็กทอรีเซิร์ฟเวอร์อื่นได้
เราบันทึกการเปลี่ยนแปลงทั้งหมดที่เราทำ สำหรับนาโน: กด ctr+o -> Enter (บันทึก) -> ctrl+x (ปิด) สำหรับ ผู้บัญชาการเที่ยงคืน— กด F2 (บันทึก) จากนั้น F10 (ออก)
3. เมื่อทุกอย่างพร้อมแล้ว เราจะสร้างผู้ใช้ที่จะใช้ FTP: ( ฉันจะจองล่วงหน้าว่าชื่อผู้ใช้จะเป็นอะไรก็ได้ไม่จำเป็นต้องเขียน user ดังเช่นใน ในตัวอย่างนี้- นี่คือตัวอย่าง!)
- ดำเนินการคำสั่งในเทอร์มินัล ผู้ใช้ที่เพิ่ม
— จากนั้นยูทิลิตี้สำหรับการสร้างผู้ใช้ใหม่จะถามคำถามคุณหลายข้อ ซึ่งคุณจะต้องป้อนคำตอบจากแป้นพิมพ์ (สามารถละเว้นคำขอให้กรอกข้อมูลในช่องด้านข้าง เช่น หมายเลขโทรศัพท์ ฯลฯ ได้ และเพียงกด Enter) และ ในตอนท้ายเมื่อบันทึกให้เขียนว่า "ใช่"
- ตอนนี้เพิ่มผู้ใช้ที่สร้างขึ้นใหม่ในกลุ่ม ftpusers ( ชื่อกลุ่มสามารถเป็นอะไรก็ได้อื่น ๆ ที่คุณคิดค้นขึ้นเองค่ะ ในกรณีนี้- นี่คือตัวอย่าง! -
กลุ่มเพิ่ม ftpusers
usermod -G ผู้ใช้ ftpusers
ในไดเร็กทอรี /บ้านมีการสร้างโฟลเดอร์ผู้ใช้ที่มีชื่อเดียวกันแล้ว
— มาสร้างอีกสองโฟลเดอร์ในโฟลเดอร์นี้สำหรับไฟล์และบันทึก
mkdir /home/user/www
mkdir /home/user/logs.mkdir
— ต่อไปเราจะเปลี่ยนเจ้าของโฟลเดอร์เหล่านี้เพราะว่า เราดำเนินการปัจจุบันจากภายใต้ผู้ใช้ด้วย สิทธิ์รูทตอบกลับ และคุณลักษณะถูกกำหนดให้เป็นรูท
ผู้ใช้ chown: ftpusers /home/user/www
ผู้ใช้ chown:ftpusers /home/user/logs
chmod 555 /home/user
4. เริ่มบริการของเราใหม่ด้วยคำสั่ง
บริการ vsftpd รีสตาร์ท
5. เราลองเชื่อมต่อโดยใช้ ไคลเอ็นต์ FTP(FileZilla, Winscp, Explorer) ตามที่อยู่ IP หรือ ชื่อโดเมนโฮสต์ที่ดำเนินการเหล่านี้โดยการเข้าสู่ระบบของผู้ใช้ที่สร้างขึ้นและรหัสผ่านของเขา หลังจากเข้าสู่ระบบ โฟลเดอร์ที่สร้างไว้ก่อนหน้านี้จะพร้อมใช้งาน