FTP (File Transfer Protocol) là dịch vụ được sử dụng trên mạng nội bộ (LAN) hoặc mạng diện rộng (WAN) để cung cấp dịch vụ chia sẻ file, truyền tải file giữa server và client, lưu trữ. Trước đây, dịch vụ FTP rất phổ biến, giờ đây công nghệ phát triển, một phần dich vụ này đã được thay thế bởi các dịch vụ và công nghệ khác. Trong hiện tại người ta dùng FTP chủ yếu để upload các website lên các máy chủ hosting, một số server cung cấp các Linux distribution cũng sử dụng dịch vụ này để chia sẽ các file ISO Linux.
Trong bài viết này sẽ giới thiệu với các bạn về việc triển khai dịch vụ FTP với gói vsftpd trên CentOS. Mô hình thực hiện như sau:
Sau khi thiết lập địa chỉ IP trên các máy như mô hình, đảm bảo các máy có thể đi được internet và nhìn thấy nhau, kiểm tra tắt dịch vụ SElinux và firewalld trên các máy CentOS. Sau khi hoàn tất các bước trên, ta tiến hành dùng lệnh yum install vsftpd
Cài đặt gói vsftpd xong, ta tiến hành các cấu hình như sau:
Nếu chúng ta muốn public một dữ liệu nào đó cho tất cả người dùng truy cập và tải dử liệu về thì ở dòng anonymous_enable ta để mặc định là YES. Với dòng này, server sẽ không đòi hỏi người dùng phải chứng thực user mà mặc định sẽ sử dụng user anonumous để truy cập, user này hệ thống tự tạo sau khi dịch vụ được cài đặt.
Với chế độ truy cập anonymous, dử liệu mặc định sẽ được lưu trữ trong thư mục /var/ftp/pub
Nếu buộc người dùng phải chứng thực user khi truyền nhận file thì ở dòng anonymous_enable ta đổi lại thành NO.
Khi chứng thực bằng user, thì mặc định thư mục home của user sẽ là nơi lưu trữ dử liệu /home/[user]
Cho phép bật ASCII mode, với chế độ này chỉ có ý nghĩa khi chúng ta truyền tải file text đươc mã hóa với ASCII. Chúng ta có thể bỏ qua điều này.
Để tăng tính bảo mật cho hệ thống, ta có thể bật chế độ chroot, với chế độ này, FTP server sẽ kiểm tra các user, user nào có trong danh sách chroot_list thì cho phép truy cập, nếu không có thì không cho phép truy cập. Tập tin chroot_list được lưu trữ trong địa chỉ /etc/vsftpd/chroot_list
Cho phép lắng nghe dịch vụ từ IPv4 và tắt trên IPv6
Sau khi cấu hình xong trên file vsftpd.conf, nếu tính năng chroot được bật lên, ta phải tạo một danh sách user được phéo truy cập trong file chroot_list
Với nội dung trong file là các user được phép, tất cả các user ngoài danh sách này sẽ không được phép truy cập vào dịch vụ FTP
Để có user chứng thực, ta dùng lênh useradd:
Sau khi tạo user, ta phải đặt password cho user
Để khởi động và cho dịch vụ vsftpd chạy mặc định cùng hệ thống ta dùng lệnh sau:
Trên CentOS 6:
- /etc/rc.d/init.d/vsftpd start
- chkconfig vsftpd on
Trên CentOS 7:
- systemctl start vsftpd
- systemctl enable vsftpd
Phân giải tên trên DNS server để người dùng có thể truy cập dịch vụ FTP bằng tên miền. FTP được đăng cai trên srv2, được phân giải thêm bằng một CNAME (alias) là ftp.hoanghiepktv.com. Người dùng có thể dùng tên ftp.hoanghiepktv.com để truy cập vào FTP server.
Video hướng dẩn: