ตั้งค่าเซิร์ฟเวอร์ FTP บน Linux
File Transfer Protocol (FTP) เป็นโปรโตคอลเครือข่ายที่ใช้กันทั่วไป ใช้ในการถ่ายโอนไฟล์ระหว่างคอมพิวเตอร์สองเครื่อง โปรโตคอลขึ้นอยู่กับสถาปัตยกรรมไคลเอนต์ - เซิร์ฟเวอร์ คอมพิวเตอร์เครื่องหนึ่งเรียกใช้โปรแกรมเซิร์ฟเวอร์ FTP ในขณะที่คอมพิวเตอร์อีกเครื่องเรียกใช้โปรแกรมไคลเอ็นต์ FTP ซึ่งสามารถดาวน์โหลดหรืออัปโหลดไฟล์ไปยังคอมพิวเตอร์เซิร์ฟเวอร์ตามการอนุญาต
โดยปกติ ผู้ใช้ที่เข้าถึงเซิร์ฟเวอร์ FTP จะต้องตรวจสอบสิทธิ์ด้วยชื่อผู้ใช้และรหัสผ่าน อย่างไรก็ตาม เซิร์ฟเวอร์สามารถกำหนดค่าให้อนุญาตให้เข้าถึงผู้ใช้ที่ไม่ระบุชื่อได้
ระบบปฏิบัติการยอดนิยมเกือบทั้งหมด เช่น Windows, GNU/Linux, Mac OS มีเซิร์ฟเวอร์ FTP และโปรแกรมไคลเอนต์ที่พร้อมใช้งาน ในบทความนี้ เราจะมาดูวิธีตั้งค่าเซิร์ฟเวอร์ FTP บนระบบ Ubuntu
การติดตั้ง
ใน Ubuntu โปรแกรม vsftpd
ซึ่งย่อมาจาก FTP Daemon ที่ปลอดภัยมาก เป็นโปรแกรมเซิร์ฟเวอร์ FTP ยอดนิยม ซึ่งสามารถเรียกใช้เป็น daemon เช่น เป็นกระบวนการพื้นหลัง เช่นเดียวกับเซิร์ฟเวอร์ส่วนใหญ่
โปรแกรมนี้มีอยู่ในที่เก็บมาตรฐานของ Ubuntu ในการติดตั้ง ให้เรียกใช้:
sudo apt ติดตั้ง vsftpd
บันทึก: สำหรับเวอร์ชัน Ubuntu < 14.04 ให้ใช้ apt-get
แทน ฉลาด
.
หลังการติดตั้ง vsftpd
daemon ควรเริ่มทำงานโดยอัตโนมัติ หากต้องการตรวจสอบว่าเริ่มทำงานอย่างถูกต้องหรือไม่ ให้เรียกใช้:
สถานะบริการ vsftpd
ถ้าสถานะไม่ คล่องแคล่ว
กล่าวคือ ยังไม่เริ่มทำงานอย่างถูกต้อง ให้เรียกใช้คำสั่งต่อไปนี้เพื่อเริ่มต้น และตรวจสอบสถานะอีกครั้งหลังจากเรียกใช้เพื่อดูว่าเป็นอยู่หรือไม่ คล่องแคล่ว
.
sudo service vsftpd start
การกำหนดค่า
ไฟล์การกำหนดค่าสำหรับ vsftpd
เป็น /etc/vsftpd.conf
. มีตัวเลือกการกำหนดค่ามากมายที่นี่ เราจะเปลี่ยนสองตัวเลือกที่จำเป็นโดยทั่วไป
เปิดไฟล์โดยใช้ vim หรือโปรแกรมแก้ไขที่คุณเลือก
sudo vim /etc/vsftpd.conf
โดยค่าเริ่มต้น ไม่อนุญาตให้เข้าถึงเซิร์ฟเวอร์ FTP โดยไม่ระบุชื่อ ในการอนุญาตการเข้าถึงแบบไม่ระบุชื่อ เราเปลี่ยนตัวแปร ไม่ระบุชื่อ_enable
จาก ไม่
ถึง ใช่
ในไฟล์.
สำหรับการเข้าถึงแบบไม่ระบุชื่อ ผู้ใช้ที่มีชื่อ ftp
ถูกสร้างขึ้นระหว่างการติดตั้ง ไดเร็กทอรีเริ่มต้นสำหรับการเข้าถึงผู้ใช้ที่ไม่ระบุชื่อคือ /srv/ftp
ซึ่งจริง ๆ แล้วเป็นโฮมไดเร็กทอรีของผู้ใช้ ftp
. ไฟล์ใดๆ ที่จะแชร์กับผู้ใช้ที่ไม่ระบุตัวตนจะต้องคัดลอกที่นี่
ถ้าไดเร็กทอรีสำหรับการเข้าถึงแบบไม่ระบุชื่อจะถูกเปลี่ยน เราจำเป็นต้องเปลี่ยนโฮมไดเร็กทอรีของผู้ใช้ ftp
. เมื่อต้องการทำสิ่งนี้ ให้เรียกใช้:
sudo usermod -d ftp
ในทำนองเดียวกัน โดยค่าเริ่มต้น การเข้าถึงเพื่อเขียน เช่น การเข้าถึงการอัปโหลด ไปยังเซิร์ฟเวอร์ FTP ไม่อนุญาต เพื่อเปิดใช้งาน เรา uncomment บรรทัดด้วย variable write_enable=ใช่
.
บันทึกและออกจากไฟล์. หากคุณกำลังใช้ vim ให้กด หนี
เพื่อไปที่โหมดคำสั่ง vim จากนั้นพิมพ์ :wq
แล้วกด เข้า
เพื่อบันทึกและออกจากไฟล์
เราจำเป็นต้องรีสตาร์ท daemon เซิร์ฟเวอร์ FTP เพื่อให้การเปลี่ยนแปลงเหล่านี้มีผล หากต้องการเริ่มต้นใหม่ ให้เรียกใช้:
sudo service vsftpd รีสตาร์ท
การทดสอบเซิร์ฟเวอร์
เว็บเบราว์เซอร์ที่ทันสมัยส่วนใหญ่มีการสนับสนุนสำหรับการเข้าถึงเซิร์ฟเวอร์ FTP เช่น สามารถทำหน้าที่เป็นไคลเอนต์ FTP แบบรวมได้ พวกเขาสนับสนุนเฉพาะการดาวน์โหลดไฟล์จากเซิร์ฟเวอร์เท่านั้นและไม่อัปโหลด
ดาวน์โหลด แบบทดสอบ
เข้า ftp://
ในแถบที่อยู่ของเบราว์เซอร์เพื่อเข้าถึงเซิร์ฟเวอร์ FTP โดยที่ คือที่อยู่ IP หรือชื่อโดเมนของเซิร์ฟเวอร์ FTP หากต้องการทดสอบเซิร์ฟเวอร์ FTP ในเครื่องของคุณ ให้ป้อน
ftp:://127.0.0.1
โปรดทราบว่าเนื่องจากเปิดใช้งานการเข้าถึงแบบไม่ระบุชื่อ เซิร์ฟเวอร์กำลังแสดงรายการไดเรกทอรีของโฟลเดอร์ที่เราเปิดใช้งานสำหรับการเข้าถึงแบบไม่ระบุชื่อ กล่าวคือ /srv/files/ftp
.
ให้เราเปลี่ยนไฟล์กำหนดค่าเพื่อปิดใช้งานการเข้าถึงแบบไม่ระบุชื่อในขณะนี้ และทดสอบการเข้าถึงด้วยการเข้าสู่ระบบของผู้ใช้
sudo vim /etc/vsftpd.conf
เปลี่ยนตัวแปร ไม่ระบุชื่อ_enable
ถึง ไม่
.
บันทึกและออกจากไฟล์. รีสตาร์ทเซิร์ฟเวอร์ FTP เพื่อให้การเปลี่ยนแปลงเหล่านี้เกิดขึ้น
sudo service vsftpd รีสตาร์ท
เปิด URL เดิมอีกครั้งในเบราว์เซอร์ (ftp://127.0.0.1
).
อย่างที่เราเห็น เซิร์ฟเวอร์กำลังขอให้เราป้อนชื่อผู้ใช้และรหัสผ่าน ป้อนข้อมูลประจำตัวและกด ตกลง
.
ตอนนี้รายการไดเร็กทอรีเป็นของโฮมไดเร็กทอรีของผู้ใช้ที่ล็อกอิน ในกรณีนี้คือ /home/อภิวัฒน์
.
อัปโหลดการทดสอบ
เว็บเบราว์เซอร์อนุญาตให้ดาวน์โหลดไฟล์จากเซิร์ฟเวอร์ FTP เท่านั้น ในการอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ FTP เราเข้าถึงเซิร์ฟเวอร์จากตัวสำรวจไฟล์
ใน Ubuntu เราจะใช้โปรแกรมสำรวจไฟล์เริ่มต้น Nautilus เปิด Nautilus โดยคลิกที่ไอคอนจาก Dock หรือค้นหาจาก Dash แล้วเปิดขึ้น
คลิกที่ สถานที่อื่นๆ
ที่ด้านล่างสุด
ที่ด้านล่างสุด ให้ป้อน URL เซิร์ฟเวอร์ FTP ของเรา (ftp:://127.0.0.1
) ในช่องป้อนข้อมูลเชื่อมต่อกับเซิร์ฟเวอร์ แล้วกดปุ่ม 'เชื่อมต่อ'
ทำเครื่องหมายที่ช่อง 'ผู้ใช้ที่ลงทะเบียน' และป้อนชื่อผู้ใช้และรหัสผ่าน คุณสามารถเลือกหนึ่งในสามตัวเลือกสำหรับการจำรหัสผ่านที่ป้อนด้านบน สุดท้าย ให้กดปุ่ม 'เชื่อมต่อ' ที่ด้านบนของหน้าต่าง
ตอนนี้ เราสามารถคัดลอกหรือสร้างไฟล์บนเซิร์ฟเวอร์ FTP ได้ง่ายๆ ตามปกติในโปรแกรมสำรวจไฟล์ เซิร์ฟเวอร์ FTP จะปรากฏทางด้านซ้ายมือดังที่แสดงด้านล่าง
นู๋โอ๊ต: แม้ว่า vsftpd
สามารถกำหนดค่าสำหรับการเข้าถึงการเขียนสำหรับผู้ใช้ที่ไม่ระบุชื่อ ซึ่งเป็นความเสี่ยงด้านความปลอดภัยอย่างใหญ่หลวงสำหรับระบบและต้องไม่ใช้! ต้องเปิดใช้งานการอัปโหลดไปยังเซิร์ฟเวอร์ FTP สำหรับผู้ใช้ระบบเท่านั้น
บทสรุป
ด้วยวิธีนี้ เราสามารถตั้งค่าเซิร์ฟเวอร์ FTP บน Ubuntu ตรวจสอบให้แน่ใจว่าคุณลองเข้าถึงสิ่งนี้จากระบบอื่นในเครือข่ายของคุณ ซึ่งในกรณีนี้ คุณจะต้องป้อน ftp://Your_IP_address
แทน ftp://127.0.0.1
ในเบราว์เซอร์ของระบบอื่น
โปรดทราบว่าโปรแกรมเซิร์ฟเวอร์ FTP ส่วนใหญ่ปลอดภัยในการเข้ารหัสเนื้อหาที่ถ่ายโอนโดยใช้ SSL/TLS (เรียกว่า FTPS) หรือใช้ SSH FTP vsftpd
ใช้ FTPS ในการใช้งาน