Hiện nay, việc chia sẻ thông tin, dữ liệu đang ngày càng được chú trọng và sử dụng phổ biến tại các công ty, trường học,…FTP trở nên phổ biến với mọi người hơn bao giờ hết bởi các tính năng và cách sử dụng đơn giản. Tuy nhiên, không phải ai cũng thực sự hiểu FTP là gì và vai trò quan trọng của chúng. Chính vì thế, ngày hôm nay dịch vụ thiết kế website Nhật Nam Media sẽ cùng các bạn tìm hiểu tổng quan FTP từ A đến Z chi tiết nhất nhé!
Contents
FTP là gì? Mô hình hoạt động của FTP
FTP ( từ viết tắt của File Transfer Protocol) đây là một loại giao thức nhằm truyền tải tập tin từ máy tính này sang máy tính khác qua một mạng Internet hoặc TCP. Bằng giao thức TCP/ IP thì giao thức này sẽ được sử dụng trong việc trao đổi thông tin/ dữ liệu trong mạng. FTP sẽ hoạt động trên hai cổng, gồm: 20 và 21, trong đó sẽ có những gói host mà bạn mua nhằm hỗ trợ DirectAdmin, Control Panel cPanel….
Các bạn sẽ có quyền quản lý toàn bộ thông tin, dữ liệu dưới dạng thư mục và tập tin có trên host, ngoại trừ database. FTP được sử dụng nhiều vào mục đích truyền tải dữ liệu cũng như đáp ứng nhu cầu về việc truyền – tải đi các dữ liệu có dung lượng lớn một cách nhanh nhất.
Mô hình hoạt động của FTP
FTP được hoạt động dựa trên mô hình cơ bản gồm truyền và nhận dữ liệu từ máy Client tới máy Server. Giai đoạn truyền và nhận dữ liệu giữa máy Client và máy Server được tạo từ 2 tiến trình TCP logic chính là Data Connection và Control Connection.
- Data Connection ( được sử dụng port 20 – trên server): Trong suốt quá trình diễn ra công việc ( được tính khi phiên làm việc bắt đầu) thì quá trình này sẽ kiểm soát kết nối và sẽ chỉ thực hiện nhiệm vụ những thông tin điều khiển di chuyển đi qua trong suốt tiến trình truyền dữ liệu.
- Control Connection (được sử dụng port 21 – trên server): chúng được sử dụng theo nguyên tắc phức tạp bởi những loại dữ liệu này có sự khác biệt với nhau. Được tiến hành giữa quá trình truyền dữ liệu và kết nối này sẽ được mở khi có lệnh chuyển tệp và đóng tệp khi tiến hành truyền xong.
Bởi chính chức năng điều khiển và dữ liệu được truyền bằng phương pháp sử dụng những kênh khác nhau nên mô hình FTP sẽ chia mỗi thiết bị thành 2 phần giao thức logic phụ trách cho mỗi loại kết nối như ở trên:
- PI (Protocol Interpreter): đây là thành phần quản lý kênh điều khiển, nhận lệnh, trả lời và phát
- DTP (Data Transfer Process): có trách nhiệm nhận và gửi dữ liệu giữa máy client và máy server
Phương thức tạo kết nối và truyền dữ liệu trong FTP
Phương thức tạo kết nối dữ liệu của FTP
Normal (Active) Data Connections:
- Phương thức đầu tiên hay còn gọi là kết nối dữ liệu bình thường, bởi chúng chính là một phương pháp mặc định hoặc gọi là kết nối kênh dữ liệu dạng chủ động.
- Phía Server- DTP nhằm tạo kênh dữ liệu bằng cách mở một cổng kết nối tới user- DTP
- Server sử dụng cổng đặc biệt là cổng số 20 và được sử dụng riêng cho kết nối dữ liệu
Passive Data Connections:
- Máy Server sẽ đồng ý 1 yêu cầu kết nối dữ liệu được khởi tạo từ máy Client
- Phương thức tạo kết nối bị động
- Máy server phản hồi lại từ phía client với địa chỉ IP ( cũng như địa chỉ cổng mà chúng sử dụng). Tiếp theo, bên phía Server- DTP sẽ lắng nghe trên cổng này, một kết nối từ User- DTP đến TCP.
Phương thức truyền dữ liệu của FTP
- Stream Mode: đây là phương thức truyền tập tin không có cấu trúc theo dạng header. Phụ thuộc vào mức độ tin cây trong việc truyền dữ liệu cùng với việc kết nối TCP đến bên nhân nên chỉ ngắt kết nối, đồng nghĩa dữ liệu cũng sẽ kết thúc.
- Block Mode: đây chính là một phương thức nhằm truyền dữ liệu mang tính quy chuẩn hơn. Dữ liệu sẽ được chia thành nhiều khối nhỏ và được đóng gói lại thành FTP block và mỗi blocks như vậy có chứa thông tin về khối dữ liệu được gửi đi.
- Compressed mode: dùng để truyền dữ liệu kỹ thuật, nén dự liệu một cách đơn giản run- length encoding. Các đoạn dữ liệu lặp sẽ bị phát hiện và loại bỏ.
Hướng dẫn cài đặt cấu hình FTP server trên CentOS-7
Chúng mình sẽ hướng dẫn các bạn sử dụng phần mềm Very Secure FTP Daemon Software Package (VSFTPD), đây là một trong những phần mềm đơn giản để tạo ra server FTP.
Cài đặt VSFPD
Đầu tiên, bạn phải cài đặt VSFTPD
# yum install vsftpd -y
Tiếp theo, các bạn tiến hành khởi động FTP Server VSFPD, cấu hình để dịch vụ luôn được khởi động kể cả khi hệ điều hành được boot lên
# systemctl start vsftpd
# systemctl enable vsftpd
Cấu hình tường lửa dành cho dịch vụ FTP và port 21:
# firewall-cmd -permanent -add-port=21/tcp
success
# firewal-cmd -permanent -add-service=ftp
success
# firewall-cmd -reload
suceess
Kiểm tra dịch vụ vsftpd:
Cấu hình dịch vụ VSFTPD
File cấu hình VSFTPD nằm tại đây: /etc/vsfpd/vsftpd.conf
File cấu hình để back up:
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup
Để chỉnh sửa cấu hình vsftpd
# vi /etc/vsftpd/vsftpd.conf
Đối với FTP Access chúng ta sẽ không cho kết nối nặc danh mà chỉ tiến hành kết nối cục bộ đến FTP server mà thôi.
anonymouse_enable=NO
local_enable=YES
Tiếp theo, hãy cho phép user logged-in để đăng tải (upload file) vào your FTP server. Tìm mục sau đây và tiến hàng chỉnh sửa để khợp giống dưới đây:
write_enable=YES
Để giới hạn FTP user vào một thư mục riêng
chroot_local_user=YES
allow_writeable_chroot=YES
Với các tiện ích vsftpd sẽ được cung cấp theo danh sách người dùng được chấp nhận và để quản lý những người dùng theo phương pháp này, hãy tìm mục và nhập userlist_enable và chỉnh giống như tệp bên dưới.
userlist_enable=YES
userlist_file=/etc/ vsftpd/user_list
userlist_deny=NO
Khi tiến hành chỉnh sửa một file cấu hình, các bạn hãy restart service vstpd nhằm vận dụng:
#systemctl restart vsftpd
Truy cập và tạo FTP user
- Tạo user local:
Tạo user local là ftp có password là ftp2022
# adduser cloud365
# passwd cloud365
Sau khi các bạn thêm xong thì thư mục mặc định của tài khoản sẽ ở trong thư mục/ home/ ftp/
- Cấp quyền truy cập đến FTP server:
Các bạn thêm FTP user vào file sau đây để truy cập vào server: /etc/vsftpd/user_list
Sau đó thêm vào /etc/vsftpd/chroot_list
Tiếp theo tiến hành resart lại vsftpd
# systemctl restart vsftpd
- Truy cập vào FTP Server
Các bạn có thể truy cập vào FTP Server như: FileZilla, CMD trên Window,…
Hướng dẫn sử dụng FileZilla để truyền file lên FTP server
Hiểu đơn giản, FileZilla chính là phần mềm để kết nối FTP, chúng là một mã nguồn với nhiều tính năng, được sử dụng trên cả hệ điều hành Linux, Mac OS X và Windows. Hiện nay, nhiều người dùng sử dụng FileZilla để truyền file lên server FTP bởi sự tiện lợi, đơn giản của chúng.
- Upload file lên FTP server bằng phần mềm FileZilla
Sau khi kết nối đến server ftp thành công, các bạn hãy định vị và kéo thả tệp dữ liệu ở phía bên trái phần mềm, ngoài ra, các file nằm phía bên phải sẽ được đặt trong một thư mục public_html trên server như hình bên dưới:
Ngoài ra, các bạn cũng có thể upload file dạng nén thông qua FTP bằng cách kéo thả file từ bên trái sang bên phải. Nếu trường hợp file quá lớn nhưng bạn không thể extract qua File Manager thì hãy thử extract bằng SSH.
- Tải file về từ server FTP
Cũng giống như đăng tải (Upload) File, từ bên thư mục bên trái, các bạn chọn thư mục đích sẽ chứa file download về. Và từ cây thư mục bên tay phải, chọn một file hoặc thư mục cần download về. Tiếp theo, hãy click chuột phải và chọn Download hoặc kéo thả trực tiếp từ phía cửa sổ bên phải đến cửa số phía bên trái.
Ưu điểm và nhược điểm của FTP
Chúng ta hãy cùng nhau tìm hiểu về ưu điểm và nhược điểm của FTP nhé!
Ưu điểm của FTP
- FTP cho phép thêm dữ liệu vào khung chờ đồng thời lên lịch truyền dữ liệu
- Cho phép chuyển nhiều tệp cùng một lúc
- Đây là giao thức hoạt động lâu năm, phổi biến với nhiều người
- Đối với các máy khách FTP có thể đồng bộ hóa các tệp tin
Nhược điểm của FTP
- Tính bảo mật: đây có lẽ chính là điểm hạn chế lớn nhất của giao thức này. Về tên người dùng, mật khẩu đăng nhập và tệp đều chỉ được gửi bằng một văn bản thuần tùy, chính vì thế, những tin tặc có thể truy cập thông tin của bạn một cách dễ dàng
- Do yêu cầu của giao thức FTP phải tạo cổng kết nối khi truyền dữ liệu nên chúng sẽ không phù hợp với các tổ chức
- Máy chủ có khả năng bị qua mặt và gửi thông tin đến các cổng kết nối ngẫu nhiên.
Vậy là chúng ta đã cùng nhau tìm hiểu về FTP là gì, tổng quan về FTP chi tiết nhất từ A đến Z. Không quá khó khăn đúng không nào các bạn. Hi vọng bài viết được chia sẻ từ Nhật Nam Media sẽ giúp bạn giải đáp những băn khoăn mà bản thân đang gặp phải. Hãy theo dõi Nhật Nam Media để biết thêm nhiều những thông tin, kiến thức bổ ích liên quan đến quảng cáo, digital media, xu hướng truyền thông mới nhất nhé! Đừng ngần ngại mà hãy đặt các câu hỏi ở phần bình luận bên dưới – chúng mình sẵn sàng giải đáp. Chúc các bạn thành công.
Bài viết liên quan