FTP là gì? Tổng quát về FTP từ A đến Z Chi Tiết Nhất

Ngày nay việc chia sẻ dữ liệu đang ngày càng được đề cao và sử dụng phổ biến trong các trường học, công ty,… Chính vì vậy việc phát triển máy chủ FTP để đồng bộ hóa các dữ liệu là một việc hết sức quan trọng. Tuy nhiên không phải ai cũng thực sự hiểu về nó, chính vì vậy để giải quyết vấn đề nan giải này thì hãy cùng Tmarketing xem qua bài viết sau để hiểu rõ hơn cũng như giải đáp những thắc mắc của các bạn.

FTP

FTP là gì? Mô hình hoạt động của FTP

Để có thể sử dụng FTP thì trước hết ta biết khái quát về FTP cũng như cách thức mà nó hoạt động là như thế nào?

FTP là gì?

FTP viết tắt từ File Transfer Protocol, là một giao thức truyền tải tập tin từ máy tính này đến máy tính khác thông qua một mạng TCP hoặc qua mạng Internet. Thông qua giao thức TCP/IP thì giao thức này sẽ được dùng trong việc trao đổi dữ liệu trong mạng. FTP thường hoạt động trên 2 cổng là 20 và 21 trong đó các gói host bạn mua có hỗ trợ control panel cPanel, DirectAdmin,…

FTP

Tại FTP, bạn sẽ có quyền quản lý toàn bộ các dữ liệu dạng tập tin và thư mục có trên host ngoại trừ database. Giao thức FTP được sử dụng nhiều nhất vào mục đích truyền tải dữ liệu, rút gọn thời gian cũng như đáp ứng nhu cầu của việc tải và truyền đi của các dữ liệu dung lượng lớn một cách nhanh chóng.

Mô hình hoạt động của FTP

Giao thức FTP hoạt động dựa trên mô hình cơ bản của việc truyền và nhận dữ liệu từ máy Client đến máy Server. Quá trình truyền nhận dữ liệu giữa máy Client và Server lại được tạo nên từ 2 tiến trình TCP logic là Control Connection và Data Connection.

FTP
  • Control connection (sử dụng port 21 – trên server): Khi phiên làm việc bắt đầu thì trong suốt quá trình diễn ra công việc thì tiến trình này sẽ kiểm soát kết nối và chỉ thực hiện nhiệm vụ các thông tin điều khiển đi qua trong suốt quá trình truyền dữ liệu.
  • Data connection (sử dụng port 20 – trên server): Kết nối này sử dụng các quy tắc rất phức tạp vì các loại dữ liệu có thể khác nhau. Nó được thực hiện giữa các quá trình truyền dữ liệu. Kết nối này mở khi có lệnh chuyển tệp và đóng khi tệp truyền xong.
Xem thêm:  99+ Mẫu Website cho Spa đẹp nhất 2021
FTP
FTP

Do chức năng điều khiển và dữ liệu được truyền tải bằng cách sử dụng các kênh riêng biệt nên mô hình FTP chia mỗi thiết bị thành 2 phần giao thức logic chịu trách nhiệm cho mỗi kết nối ở trên:

  • Protocol interpreter (PI): thành phần quản lý kênh điều khiển, phát, nhận lệnh và trả lời.
  • Data transfer process (DTP): chịu trách nhiệm gửi và nhận dữ liệu giữa client với 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 được gọi là tạo kết nối dữ liệu bình thường (vì đây là phương pháp mặc định) hay còn gọi là kết nối kênh dữ liệu ở dạng chủ động.
  • Phía Server-DTP 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 được dành riêng cho kết nối dữ liệu là cổng số 20.

Passive Data Connections:

  • Phương thức tạo kết nối bị động.
  • Server sẽ chấp nhận 1 yêu cầu kết nối dữ liệu được khởi tạo từ Client.
  • Server trả lời lại phía client với địa chỉ IP cũng như địa chỉ cổng mà nó sẽ sử dụng. Sau đó phía Server-DTP lắng nghe trên cổng này một kết nối TCP đến từ User-DTP.
FTP

Phương thức truyền dữ liệu của FTP

  • Block mode:  Là phương thức truyền dữ liệu mang tính quy chuẩn hơn. Với phương thức này, dữ liệu được chia thành nhiều khối nhỏ và được đóng gói thành các FTP blocks. Mỗi block sẽ chứa thông tin về khối dữ liệu đang được gửi.
  • Stream mode: Là phương thức truyền tập tin không có cấu trúc dạng header. Dựa vào tính tin cậy trong việc truyền dữ liệu và thông qua kết nối TCP tới phía nhận nên chỉ ngắt kết nối là dữ liệu cũng kết thúc.
  • Compressed mode: Là phương thức truyền dữ liệu kỹ thuật nén dữ liệu khá đơn giản run-length encoding. Các đoạn dữ liệu bị lặp sẽ đucợ phát hiện và loại bỏ.
Xem thêm:  CSS là gì? Kiến thức Tổng quan về CSS Mới Nhất

Hướng dẫn cài đặt cấu hình FTP server 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.

Cài đặt VSFTPD

Cài đặt vsftpd.

# yum install vsftpd -y

Sau đó bạn sẽ khởi động dịch vụ FTP Server Vsftpd, rồi cấu hình để dịch vụ luôn khởi động khi hệ điều hành được boot lên.

# systemctl start vsftpd

# systemctl enable vsftpd

Cấu hình tường lửa cho dịch vụ FTP và port 21:

# firewall-cmd –permanent –add-port=21/tcp

success

# firewall-cmd –permanent –add-service=ftp

success

# firewall-cmd –reload

success

Kiểm tra trạng thái dịch vụ vsftpd:

FTP

Cấu hình dịch vụ VSFTPD

File cấu hình vsftpd nằm tại : /etc/vsftpd/vsftpd.conf

Copy file cấu hình để backup.

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup

Chỉnh sửa file cấu hình vsftpd.conf:

# vi /etc/vsftpd/vsftpd.conf

FTP Access: Ta không cho kết nối nặc danh, mà chỉ cho kết nối cục bộ vào FTP server

anonymous_enable=NO  

local_enable=YES 

Kế tiếp, cho phép user logged-in để upload files vào your FTP server. Tìm mục sau đây và chỉnh sửa để khớp như sau:

write_enable=YES

 Giới hạn FTP users vào thư mục riêng.

chroot_local_user=YES
allow_writeable_chroot=YES

Tiện ích vsftpd cung cấp một cách để tạo danh sách 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 nhập userlist_enable, sau đó chỉnh sửa tệp như dưới

userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO

Mỗi khi chỉnh sữa file cấu hình. Bạn cần restart service vsftpd để áp dụng

# systemctl restart vsftpd

Truy cập và tạo FTP user

Tạo user local: Tạo 1 local user là: ftp với mật khẩu là ftp2021

# adduser cloud365

# passwd cloud365

Sau khi thêm xong thì thư mục mặc định của tài khoản này sẽ ở thư mục /home/ftp/

Cấp quyền truy cập tới FTP server: Ta thêm user ftp vào file /etc/vsftpd/user_list để có thể truy cập vào server.

Thêm vào trong file /etc/vsftpd/chroot_list

Sau đó restart lại dịch vụ vsftpd

# systemctl restart vsftpd

Truy cập FTP Server: Có nhiều cách để có thể truy cập FTP server như: cmd trên Window, FileZilla trên Window,…

Hướng dẫn sử dụng FileZilla để truyền file lên FTP server

FileZilla là phần mềm kết nối FTP, là một mã nguồn mở và đa tính năng. Phần mềm này được sử dụng trên các hệ điều hành Windows, Linux và Mac OS X. Ngày nay việc sử dụng FileZilla để truyền file lên FPT sever đang được dùng phổ biến vì sự tiện lợi mà nó mang lại cho người dùng.

Xem thêm:  Lỗi 500 Internal Server Error là gì? Nguyên nhân và cách Khắc Phục nhanh chóng

Upload file lên trên FPT server bằng FileZilla

Khi bạn đã kết nối tới FTP sever, hãy định vị và kéo thả dữ liệu từ bên trái của phần mềm , các file bên phải được đặt trong thư mục public_html trên server:

FTP

Tương tự, bạn có thể upload file nén qua FTP, bằng cách kéo thả từ trái quả phải. Nếu là file lớn mà bạn không thể extract được qua File Manager, hãy extract bằng SSH.

Download file từ FTP server về

Tương tự như Upload File, từ cây thư mục bên trái, chọn thư mục đích sẽ chứa các file tải về. Từ cây thư mục bên phải, chọn thư mục hoặc file cần tải về. Sau đó kích phải chuột và chọn Download (hoặc có thể kéo thả trực tiếp từ cửa sổ bên phải này sang cửa sổ bên trái).

FTP

Ưu điểm và nhược điểm của FTP

Dù FTP có khác nhiều ưu điểm tuy nhiên nó vẫn còn một số nhược điểm nên được cái thiện.

Ưu điểm của FTP

  • FTP cho phép chuyển nhiều tệp tin cùng một lúc
  • FTP là giao thức có thời gian hoạt động lâu năm nên đa phần mọi người đều không còn xa lạ với nó.
  • Các máy khách FTP có thể đồng bộ hoá được các tệp tin.
  • Cho phép thêm dữ liệu vào khung chờ, và lên lịch truyền.

Nhược điểm của FTP

  • Hạn chế lớn nhất của FTP là bảo mật. Tên người dùng, mật khẩu và tệp đều được gửi bằng văn bản thuần túy, do đó tin tặc có thể dễ dàng truy cập thông tin của bạn.
  • Không phù hợp cho các tổ chức, do yêu cầu phải tạo cổng kết nối khi truyền.
  • Máy chủ có khả năng bị qua mặt, gửi thông tin đến các cổng ngẫu nhiên.

Sau đây là những nội dung tổng quát về FPT cũng như cách thức hoạt động, cài đặt và sử dụng, hy vọng bài chia sẻ từ Tmarketing sẽ có ích và giúp bạn giải đáp thắc mắc cũng như những những vấn đề của bản thân đang mắc phải. Nếu có bất kì thắc mắc nào bạn có thể liên hệ với Tmarketing đơn vị chuyên thiết kế website và cung cấp các giải pháp về website – hosting – VPS các giải pháp về Digital Marketing để giải đáp các thắc mắc nhé !

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Check Spam *