การติดตั้ง FTP Server ด้วย vsftpd บน Ubuntu Server 24.04

การติดตั้ง FTP Server ด้วย vsftpd บน Ubuntu Server 24.04

FTP (File Transfer Protocol) เป็นโปรโตคอลมาตรฐานที่ใช้สำหรับการโอนย้ายไฟล์ระหว่างเครื่องคอมพิวเตอร์ในเครือข่าย ไม่ว่าจะเป็นการอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ หรือการดาวน์โหลดไฟล์จากเซิร์ฟเวอร์กลับมายังเครื่องผู้ใช้ สำหรับระบบปฏิบัติการ Ubuntu Server 24.04 เครื่องมือยอดนิยมที่ใช้ในการให้บริการ FTP คือ vsftpd (Very Secure FTP Daemon) ซึ่งได้รับการออกแบบให้มีความปลอดภัยสูง เสถียร และรองรับการทำงานในสภาพแวดล้อมองค์กรได้ดี

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

– ภาพการทำงานของ FTP Server


1. การเตรียมระบบก่อนติดตั้ง FTP

ตรวจสอบให้แน่ใจว่า Ubuntu Server ได้รับการอัปเดตเป็นเวอร์ชันล่าสุดก่อนเริ่มการติดตั้ง

sudo apt update && sudo apt upgrade -y

จากนั้นตรวจสอบว่าเซิร์ฟเวอร์สามารถเชื่อมต่ออินเทอร์เน็ตได้ และผู้ใช้มีสิทธิ์ระดับ sudo สำหรับการติดตั้งซอฟต์แวร์


2. การติดตั้ง vsftpd

ติดตั้งแพ็กเกจ vsftpd ผ่านคำสั่ง apt

sudo apt install vsftpd -y

หลังการติดตั้งเสร็จ ระบบจะเริ่มการทำงานของบริการโดยอัตโนมัติ สามารถตรวจสอบสถานะได้ดังนี้

sudo systemctl status vsftpd

หากสถานะเป็น active (running) แสดงว่าบริการพร้อมใช้งาน


3. การสำรองและแก้ไขไฟล์กำหนดค่า

ก่อนปรับแต่งการตั้งค่า ควรสำรองไฟล์ต้นฉบับไว้ก่อนเพื่อป้องกันความผิดพลาด

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

เปิดไฟล์กำหนดค่าเพื่อแก้ไข

sudo nano /etc/vsftpd.conf

ปรับค่าต่อไปนี้เพื่อให้ระบบทำงานอย่างปลอดภัยและเหมาะสมกับการใช้งานทั่วไป

anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
ftpd_banner=Welcome to SYSADMIN FTP service.
chroot_local_user=YES
user_sub_token=$USER
local_root=/home/$USER/ftp

หมายเหตุ:

  • anonymous_enable=NO ปิดการเข้าถึงแบบไม่ระบุตัวตน

  • write_enable=YES อนุญาตให้ผู้ใช้สามารถอัปโหลดไฟล์ได้

  • chroot_local_user=YES จำกัดผู้ใช้ให้ทำงานได้เฉพาะภายในโฟลเดอร์ของตนเอง

บันทึกไฟล์และออกจากโปรแกรม (Ctrl + O, Enter, Ctrl + X)


4. สร้างบัญชีผู้ใช้งาน

สร้างไดเรกทอรีหลักสำหรับผู้ใช้ FTP และตั้งค่าสิทธิ์การเข้าถึง

sudo adduser arnut
ระบบจะสร้างไดเรกทอรี /home/username และกำหนดสิทธิ์เจ้าของเป็นผู้ใช้นั้นโดยอัตโนมัติ

เช่น /home/arnut สำหรับผู้ใช้ชื่อ arnut

– ตรวจสอบว่าไดเรกทอรีถูกสร้างเรียบร้อยและสิทธิ์ถูกต้องหรือไม่
ls -ld /home/arnut/
ผลลัพธ์
drwxr-x— 2 arnut arnut 4096 Nov 12 14:05 /home/arnut/

– กำหนดรหัสผ่าน
sudo passwd arnut

Note.

ถ้าผู้ใช้ต้องใช้ร่วมกับกลุ่มอื่น (เช่น developers)

sudo usermod -aG developers arnut

ตัวเลือก -aG หมายถึง “เพิ่มเข้า group โดยไม่ลบกลุ่มเดิม”


5. การสร้างไดเรกทอรีสำหรับ FTP

สร้างไดเรกทอรีหลักสำหรับผู้ใช้ FTP และตั้งค่าสิทธิ์การเข้าถึง

mkdir -p /home/arnut/ftp/files
chmod 550 /home/arnut/ftp
chmod 750 /home/arnut/ftp/files
chown -R arnut:arnut /home/arnut/ftp

จากนั้นสร้างไฟล์ welcome.txt เพื่อทดสอบการอัปโหลด

 
echo "FTP Server Test - Ubuntu 24.04" | sudo tee /home/username/ftp/files/welcome.txt

6. การเปิด Firewall สำหรับ FTP

เปิดพอร์ตที่จำเป็นสำหรับการให้บริการ FTP ได้แก่ พอร์ต 20 และ 21

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw reload

หากใช้งาน FTP แบบ Passive Mode ให้เพิ่มช่วงพอร์ตเพิ่มเติมในไฟล์ /etc/vsftpd.conf

pasv_min_port=40000
pasv_max_port=50000

และเปิดช่วงพอร์ตนี้ใน Firewall ด้วย

sudo ufw allow 40000:50000/tcp

7. การรีสตาร์ตบริการและทดสอบการเชื่อมต่อ

เมื่อปรับแต่งค่าทั้งหมดเรียบร้อย ให้รีสตาร์ตบริการเพื่อให้การตั้งค่ามีผล

sudo systemctl restart vsftpd

จากนั้นทดสอบการเชื่อมต่อผ่าน FTP Client เช่น FileZilla หรือใช้คำสั่ง FTP ภายในระบบอื่น

ftp <server_ip_address>
เช่น 
ftp 1921.68.56.108

เมื่อเข้าสู่ระบบสำเร็จ ผู้ใช้จะสามารถอัปโหลด ดาวน์โหลด หรือจัดการไฟล์ภายในโฟลเดอร์ที่กำหนดได้
– ตัวอย่างการเข้าใช้งานทาง Command Prompt 

– ตัวอย่างการเข้าใช้งานทาง File Zilla Client


8. การตรวจสอบการทำงานอัตโนมัติ

ตรวจสอบให้แน่ใจว่าบริการ vsftpd เริ่มทำงานอัตโนมัติทุกครั้งที่ระบบบูต

 
sudo systemctl enable vsftpd

และสามารถดูบันทึกการทำงานเพื่อวิเคราะห์ปัญหาได้จาก

sudo journalctl -u vsftpd

สรุป

การติดตั้ง FTP Server ด้วย vsftpd บน Ubuntu Server 24.04 เป็นกระบวนการที่ไม่ซับซ้อน แต่ต้องให้ความสำคัญกับการตั้งค่าความปลอดภัย โดยเฉพาะการจำกัดสิทธิ์ผู้ใช้และการปิดการเข้าถึงแบบ Anonymous เพื่อป้องกันการโจมตีจากภายนอก นอกจากนี้ ควรพิจารณาเปิดใช้งาน SSL/TLS เพื่อเข้ารหัสข้อมูลในกรณีที่ใช้ในสภาพแวดล้อมจริง

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



เขียนและรวบรวมโดย
Dr.Arnut Ruttanatirakul
Technology Lecturer, KMITL
12 November 2025