FTP (File Transfer Protocol) là giao thức truyền tệp phổ biến cho phép người dùng gửi và nhận dữ liệu giữa client và máy chủ một cách dễ dàng. Trên CentOS 7, việc sử dụng vsftpd – một trong những trình FTP server an toàn và nhẹ nhất – giúp đảm bảo hiệu suất ổn định, bảo mật tốt và khả năng quản lý linh hoạt. Bài viết dưới đây sẽ hướng dẫn bạn từng bước cấu hình FTP bằng vsftpd trên CentOS 7 một cách đơn giản và hiệu quả, phù hợp cả cho người mới bắt đầu lẫn quản trị viên hệ thống.
Những điểm chính
- Điều kiện để cấu hình FTP trên CentOS 7 bằng VSFTPD: Nắm được các yêu cầu cơ bản về hệ điều hành, quyền truy cập và các gói phần mềm cần thiết trước khi tiến hành cài đặt FTP.
- Cấu hình FTP trên CentOS 7: Hiểu rõ quy trình cài đặt, cấu hình và kiểm tra dịch vụ FTP bằng VSFTPD một cách chi tiết và trực quan, từ việc chỉnh sửa file cấu hình đến tạo người dùng mới.
- Biết thêm Vietnix – Nhà cung cấp dịch vụ lưu trữ tốc độ cao.
- Câu hỏi thường gặp: Giải đáp những vấn đề phổ biến khi triển khai FTP như lỗi kết nối, phân quyền truy cập hoặc xác minh dịch vụ hoạt động đúng cách.
Điều kiện để cấu hình FTP trên CentOS 7 bằng VSFTPD
- Có quyền truy cập vào tài khoản người dùng với quyền sudo.
- Trình quản lý gói “yum”, cài đặt theo mặc định.
- Trình soạn văn bản.
Cấu hình FTP trên CentOS 7
Hướng dẫn dưới đây sẽ sử dụng phần mềm VSFTPD (Very Secure FTP Daemon Software package). Đây là một phần mềm tương đối đơn giản để tạo server FTP. Ngoài ra, bạn cũng có thể tham khảo thêm cách cài đặt và sử dụng PostgreSQL trên CentOS 7 để có thể tự tin triển khai hệ quản trị cơ sở dữ liệu PostgreSQL trên môi trường CentOS 7 của mình.
1. Cài đặt dịch vụ FTP với VSFTPD
- Bắt đầu bằng việc cập nhật trình quản lý gói
sudo yum update
Đợi cho quá trình hoàn thành.
2. Cài đặt phần mềm VSFTPD với dòng lệnh sau:
sudo yum install vsftpd
Khi được thông báo, nhập Y để hoàn tất quá trình.

3. Bắt đầu dịch vụ. Sau đó thiết lập cho nó khởi động cùng hệ thống:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd

4. Tiếp theo, tạo một rule cho tường lửa để cho phép truy cập FTP trên cổng 21:
sudo firewall-cmd --zone=public --permanent --add-port=21/tcp
sudo firewall-cmd --zone=public --permanent --add-service=ftp
sudo firewall-cmd --reload
Nếu bạn đang sử dụng một ứng dụng tường lửa khác, hãy tham khảo tài liệu để cấu hình chính xác cho cổng 21. Ngoài ra, một số client FPT sử dụng cổng 20. Do đó bạn cũng có thể muốn thêm cả quy tắc của cổng đó. Cụ thể là chỉ cần sao chép dòng lệnh, rồi thay đổi 21 thành 20.
Việc cấu hình FTP bằng vsftpd trên CentOS 7 giúp đơn giản hóa quy trình chia sẻ và quản lý dữ liệu giữa máy chủ và client. Tuy nhiên, để hệ thống FTP hoạt động ổn định và có hiệu suất cao, hạ tầng máy chủ cũng cần được đầu tư đúng mức. VPS Linux tại Vietnix là lựa chọn lý tưởng dành cho những ai muốn triển khai dịch vụ FTP chuyên nghiệp, ổn định và linh hoạt. Với ổ cứng SSD tốc độ cao, tài nguyên riêng biệt và khả năng mở rộng dễ dàng, dịch vụ VPS tại Vietnix hỗ trợ tối ưu cho các ứng dụng truyền tải dữ liệu, web server, hoặc môi trường phát triển độc lập. Liên hệ ngay!

Hạ tầng máy chủ an toàn tuyệt đối
KHÁM PHÁ dịch vụ vps tại vietnix ngay!
Dịch vụ VPS tốc độ cao đảm bảo tài nguyên độc lập và ổn định cho website hoặc ứng dụng của bạn!
Tham khảo dịch vụ VPS2. Cấu hình dịch vụ VSFTPD
Hành vi của dịch vụ FTP trên server của bạn sẽ được xác định hỏi file cấu hình: /etc/vsftpd/vsftpd.conf
- Trước khi bắt đầu, hãy tạo một bản sao của file cấu hình mặc định:
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default
Việc này đảm bảo bạn có cách để quay trở lại cấu hình mặc định nếu gặp sự cố trong quá trình cài đặt.
2. Sau đó, chỉnh sửa file cấu hình với lệnh:
sudo nano /etc/vsftpd/vsftpd.conf
3. Thiết lập server FTP để vô hiệu hóa những người dùng ẩn danh, chỉ cho phép các người dùng cục bộ.
Tìm các mục sau trong file cấu hình, rồi chỉnh sửa chúng cho khớp với các mục sau:
anonymous_enable=NO
local_enable=YES
Đây là một bước quan trọng. Vì cho phép người dùng ẩn danh truy cập là rất nguy hiểm. Vì vậy cần tránh nó trừ khi bạn hiểu rõ rủi ro.
4. Tiếp theo, cho phép người dùng đã đăng nhập tải các file lên server FTP của bạn.
Tìm các mục sau, rồi sửa lại chúng:
write_enable=YES
Lưu ý: Theo mặc định, dòng này bắt đầu bằng một dấu # để cho biết đó là một comment. (comment là một cách hữu ích để bật và tắt các lệnh). Dấu # cũng có thể được sử dụng để ghi chú trong file.
5. Giới hạn người dùng FTP với thư mục của riêng họ. Điều này thường được gọi là jail hay chroot jail. Tìm và chỉnh các mục sau:
chroot_local_user=YES
allow_writeable_chroot=YES
Lưu ý: Với mục đích thử nghiệm, bạn có thể sử dụng allow_writeable_chroot=YES. Nhưng một số quản trị viên ủng hộ việc sử dụng tùy chọn user_sub_token để bảo mật tốt hơn.
6. Tiện ích vsftpd cung cấp một cách để tạo danh sách các người dùng đã được phê duyệt. Để quản lý người dùng theo cách này, hãy tìm mục userlist_enable, rồi chỉnh sửa lại như sau:
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
Bây giờ, bạn có thể chỉnh sửa file /etc/vsftpd/user_list, và thêm vào danh sách người dùng (mỗi người dùng một dòng). Tùy chọn userlist_deny cho phép chỉ định người dùng được thêm. Nếu thay đổi nó thành yes, danh sách sẽ thay đổi thành những người dùng bị chặn.
7. Sau khi chỉnh sửa xong file cấu hình, hãy lưu lại các thay đổi. Rồi restart lại dịch vụ vsftpd để áp dụng các thay đổi:
sudo systemctl restart vsftpd
3. Tạo một người dùng FTP mới
- Tạo một người dùng FTP mới:
sudo adduser testuser
sudo passwd testuser
Sau đó hệ thống sẽ báo để bạn nhập và xác nhận mật khẩu người dùng mới.
2. Thêm người dùng vào userlist:
echo "testuser" | sudo tee -a /etc/vsftpd/user_list
3. Tạo một thư mục cho người dùng mới, điều chỉnh các quyền:
sudo mkdir –p /home/testuser/ftp/upload
sudo chmod 550 /home/testuser/ftp
sudo chmod 750 /home/testuser/ftp/upload
sudo chown –R testuser: /home/testuser/ftp
Thao tác này sẽ tạo một thư mục home/testuser cho người dùng mới, với một thư mục đặc biệt để tải lên. Thư mục này giới hạn quyền chỉ tải lên thư mục /uploads.
4. Bây giờ, bạn có thể đăng nhập vào server FTP với người dùng vừa tạo:
ftp 192.168.01
Thay thế địa chỉ IP này với địa chỉ trong hệ thống của bạn.
Hệ thống sau đó sẽ yêu cầu một tên người dùng – nhập tên người dùng bạn đã tạo trước đó. Nhập mật khẩu, và hệ thống sẽ đăng nhập.
4. Kiểm tra server FTP
Đây là bước cuối cùng trong quá trình cấu hình FTP trên CentOS 7.
Để kiểm tra server FTP cục bộ, sử dụng lệnh:
ftp localhost
Để kiểm tra từ xa, dùng lệnh:
ftp your.ftp.server.com
Bạn cần chú ý rằng, một số biện pháp bảo mật đã được đưa vào bảo mật này. Nhưng chúng tôi khuyên bạn tự làm quen với các giao thức bảo mật mới nhất trước khi triển khai server FTP trong môi trường production. Điều này đặc biệt quan trọng nếu bạn đang tạo một máy chủ FTP open với internet. Ở đây, nhiều rủi ro bảo mật bắt nguồn từ giao thức FTP.
Vietnix – Nhà cung cấp dịch vụ lưu trữ tốc độ cao
Vietnix – Nhà cung cấp dịch vụ lưu trữ tốc độ cao, đáng tin cậy cho hàng chục nghìn khách hàng cá nhân và doanh nghiệp tại Việt Nam. Với hệ thống hạ tầng mạnh mẽ, tối ưu hiệu năng và khả năng mở rộng linh hoạt, Vietnix mang đến giải pháp lưu trữ phù hợp cho mọi quy mô – từ website cá nhân đến hệ thống doanh nghiệp phức tạp. Giao diện quản trị thân thiện, dễ sử dụng giúp người dùng nhanh chóng triển khai và vận hành dịch vụ. Liên hệ ngay để được tư vấn và trải nghiệm dịch vụ chất lượng cao từ Vietnix!
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh
- Website: https://vietnix.vn/
Câu hỏi thường gặp
Làm sao để giới hạn băng thông cho từng phiên FTP session trong vsftpd?
Để giới hạn băng thông cho từng phiên FTP trong vsftpd trên CentOS 7, bạn thêm cấu hình sau vào file /etc/vsftpd/vsftpd.conf
:
local_max_rate=50000 # Giới hạn 50KB/s cho user local
anon_max_rate=30000 # Giới hạn 30KB/s cho user ẩn danh (nếu có)
Sau đó khởi động lại dịch vụ:
sudo systemctl restart vsftpd
Cách này giúp kiểm soát tốc độ upload/download theo từng user hiệu quả.
Cách cấu hình FTP server để chỉ chấp nhận kết nối từ IP whitelist?
Để chỉ cho phép một số IP truy cập vào FTP server sử dụng vsftpd trên CentOS 7, bạn làm như sau:
– Thêm IP whitelist vào /etc/hosts.allow
:
vsftpd: 123.123.123.123
– Chặn tất cả IP còn lại trong /etc/hosts.deny
:
vsftpd: ALL
– Khởi động lại vsftpd:
sudo systemctl restart vsftpd
Tùy chọn nâng cao: dùng firewalld
để chỉ cho phép IP cụ thể truy cập cổng 21. Cách này giúp bảo mật FTP tốt hơn, đặc biệt trong môi trường sản xuất.
Lời kết
Việc cấu hình FTP bằng vsftpd trên CentOS 7 không chỉ giúp bạn dễ dàng quản lý và truyền tải dữ liệu giữa máy chủ và client, mà còn đảm bảo hiệu suất và độ bảo mật ở mức cơ bản. Qua từng bước thiết lập, từ cài đặt, phân quyền, đến kiểm thử kết nối, bạn đã có thể triển khai một dịch vụ FTP hoạt động ổn định trên hệ thống của mình. Cảm ơn bạn đã theo dõi bài viết!