Thật kỳ lạ khi nghĩ về thời gian mà Giao thức truyền tệp ( FTP
) đã tồn tại. Được phát triển lần đầu tiên vào năm 1971 bởi Abhay Bhushan, một sinh viên tại MIT, ban đầu nó được sử dụng để truyền tệp giữa các máy tính trên ARPANET. Không cần phải nói nó đã phát triển - với các tính năng xác thực, mã hóa và nén. Nó vẫn là một giao thức được sử dụng rộng rãi để truyền tệp qua Internet, đặc biệt trong trường hợp tệp lớn hoặc số lượng lớn tệp cần được truyền nhanh chóng và đáng tin cậy.
Mặc dù API S3 về cơ bản là vượt trội, nhưng nó thiếu tính đơn giản của FTP/SFTP
và khả năng chạy trong các môi trường có nhiều hạn chế. Do đó, MinIO đã thêm hỗ trợ FTP
và SFTP
vào Máy chủ MinIO. Với chức năng mới này, người dùng (hoặc ứng dụng) nghĩ rằng họ đang nói chuyện với máy chủ FTP
trong khi thực tế họ đang nói chuyện với MinIO. Những lợi thế phải rõ ràng - việc di chuyển dữ liệu lên MinIO trở nên liền mạch và từ góc độ ứng dụng/người dùng, mọi thứ về cơ bản là giống nhau - từ chính sách, bảo mật, v.v.
Các hoạt động FTP/SFTP
hiện được hỗ trợ như sau:
lệnh ftp-client | hỗ trợ |
---|---|
lấy | Đúng |
đặt | Đúng |
ls | Đúng |
mkdir | Đúng |
rmdir | Đúng |
xóa bỏ | Đúng |
nối thêm | KHÔNG |
đổi tên | KHÔNG |
MinIO hỗ trợ các giao thức dựa trên FTP/SFTP
sau để truy cập và quản lý dữ liệu.
Giao thức truyền tệp an toàn ( SFTP
) – Được Lực lượng đặc nhiệm kỹ thuật Internet (IETF) xác định là phiên bản mở rộng của SSH 2.0, cho phép truyền tệp qua SSH và để sử dụng với các ứng dụng VPN và Bảo mật tầng vận chuyển (TLS).
Giao thức truyền tệp qua SSL/TLS ( FTPS
) – Giao tiếp FTP
được mã hóa qua chứng chỉ TLS.
Giao thức truyền tệp ( FTP
) – Được xác định ban đầu bởi RFC114 và được thay thế bằng giao tiếp FTP không được mã hóa RFC765 và RFC959
Những gì được đề cập trong phiên bản này:
Tất cả Thông tin đăng nhập IAM đều được phép truy cập ngoại trừ thông tin đăng nhập luân phiên, thông tin đăng nhập luân phiên không được phép đăng nhập qua cổng FTP/SFTP
. Bạn phải sử dụng cổng API S3 nếu bạn đang sử dụng thông tin đăng nhập luân phiên.
Quyền truy cập vào (các) bộ chứa và (các) đối tượng được quản lý thông qua các chính sách IAM được liên kết với thông tin xác thực đăng nhập đến.
Cho phép xác thực và truy cập cho tất cả
Trên các bộ chứa được phiên bản, FTP/SFTP
chỉ hoạt động trên các đối tượng mới nhất. Nếu cần truy xuất phiên bản cũ hơn, bạn phải sử dụng S3 API client
chẳng hạn như mc
.
Tất cả các tính năng mà bộ chứa của bạn hiện đang sử dụng sẽ hoạt động “nguyên trạng” mà không có bất kỳ thay đổi nào
-SSE (Mã hóa phía máy chủ)
-Replication (Sao chép phía máy chủ)
Về cơ bản, đây phải là một bổ sung giao thức liền mạch theo quan điểm của nhà phát triển/quản trị viên.
Chức năng này khả dụng bắt đầu với RELEASE.2023-04-20T17-56-55Z
.
Người ta cho rằng người dùng đã được tạo và định cấu hình với các chính sách truy cập có liên quan . MinIO khuyên bạn nên bắt đầu với chính sách đóng hộp "đọc ghi" cơ bản để kiểm tra tất cả các hoạt động trước khi hoàn thiện mức độ hạn chế nào là cần thiết cho người dùng.
Không cần thao tác "quản trị viên:*" để truy cập FTP/SFTP
vào (các) bộ chứa và (các) đối tượng. Chúng có thể bị bỏ qua vì những hạn chế.
Lưu ý quan trọng: FTP/SFTP
không được bật theo mặc định. Nó cần được kích hoạt khi thiết lập. Hơn nữa, không có chức năng quản trị nào có sẵn qua FTP
, điều này phải được thực hiện thông qua dòng lệnh.
Bắt đầu MinIO trong một thiết lập phân tán, có bật FTP/SFTP
.
minio server http://server{1...4}/disk{1...4} --ftp="address=:8021" --ftp="passive-port-range=30000-40000" \ --sftp="address=:8022" --sftp="ssh-private-key=/home/miniouser/.ssh/id_rsa" ... ...
Ví dụ sau đây cho thấy kết nối qua ứng dụng khách ftp
bằng thông tin đăng nhập minioadmin
và liệt kê một nhóm có tên là runner
:
ftp localhost -P 8021 Connected to localhost. 220 Welcome to MinIO FTP Server Name (localhost:user): minioadmin 331 User name ok, password required Password: 230 Password ok, continue Remote system type is UNIX. Using binary mode to transfer files. ftp> ls runner/ 229 Entering Extended Passive Mode (|||39155|) 150 Opening ASCII mode data connection for file list drwxrwxrwx 1 nobody nobody 0 Jan 1 00:00 chunkdocs/ drwxrwxrwx 1 nobody nobody 0 Jan 1 00:00 testdir/ ...
Ví dụ sau đây cho thấy cách liệt kê một đối tượng và tải xuống cục bộ thông qua ứng dụng khách ftp
:
ftp> ls runner/chunkdocs/metadata 229 Entering Extended Passive Mode (|||44269|) 150 Opening ASCII mode data connection for file list -rwxrwxrwx 1 nobody nobody 45 Apr 1 06:13 chunkdocs/metadata 226 Closing data connection, sent 75 bytes ftp> get (remote-file) runner/chunkdocs/metadata (local-file) test local: test remote: runner/chunkdocs/metadata 229 Entering Extended Passive Mode (|||37785|) 150 Data transfer starting 45 bytes 45 3.58 KiB/s 226 Closing data connection, sent 45 bytes 45 bytes received in 00:00 (3.55 KiB/s) ...
Nếu có chứng chỉ được bật trên máy chủ, SFTP
có thể được sử dụng. Với điều kiện máy khách FTP
có khả năng, TLS có thể được sử dụng để bảo mật quá trình truyền. Điều này sẽ yêu cầu một cờ bổ sung cho khóa riêng.
Ví dụ sau đây cho thấy kết nối qua ứng dụng khách sftp
bằng thông tin đăng nhập minioadmin
và liệt kê một nhóm có tên là runner
:
sftp -P 8022 minioadmin@localhost minioadmin@localhost's password: Connected to localhost. sftp> ls runner/ chunkdocs testdir
Ví dụ sau đây cho thấy cách tải xuống một đối tượng cục bộ thông qua ứng dụng khách sftp
:
sftp> get runner/chunkdocs/metadata metadata Fetching /runner/chunkdocs/metadata to metadata metadata 100% 226 16.6KB/s 00:00 sftp>
Cổng mặc định 8021
có thể được thay đổi thông qua
--ftp="address=:3021"
Theo mặc định, FTP
yêu cầu HĐH tự động cung cấp một cổng miễn phí, tuy nhiên, bạn có thể muốn hạn chế điều này đối với các cổng cụ thể trong một số môi trường bị hạn chế thông qua
--ftp="passive-port-range=30000-40000"
Cổng mặc định 8022
có thể được thay đổi thông qua
--sftp="address=:3022"
Không giống như máy chủ SFTP
, máy chủ FTP
không an toàn theo mặc định. Để hoạt động ở chế độ TLS, bạn cần cung cấp chứng chỉ qua
--ftp="tls-private-key=path/to/private.key" --ftp="tls-public-cert=path/to/public.crt"
LƯU Ý : nếu thiết lập phân tán MinIO đã được định cấu hình để chạy trong TLS, FTP
sẽ tự động sử dụng các chứng chỉ có liên quan từ chuỗi chứng chỉ máy chủ, điều này chủ yếu là để thêm tính đơn giản cho thiết lập. Tuy nhiên, nếu bạn muốn chấm dứt chứng chỉ TLS qua một miền khác cho máy chủ FTP
của mình, bạn có thể chọn các tùy chọn dòng lệnh ở trên.
Chúng tôi đã lưu ý trước đó rằng Nối và Đổi tên không phải là chức năng hỗ trợ.
Do tính đơn giản của FTP
- việc tạo phiên bản cũng có vấn đề. Phiên bản không được FTP
hỗ trợ và các ứng dụng khách FTP
không biết nó thực sự là gì - nhưng các bộ chứa thường sẽ có nhiều phiên bản của một đối tượng. Do đó, cùng một đối tượng có tên mới sẽ là một đối tượng mới. Đối tượng trùng tên sẽ là một phiên bản mới - nhưng FTP
không có khái niệm về điều đó, nó cần được quản lý thông qua S3. Nó có thể di chuyển dữ liệu, nhưng nó không có sự tinh vi của S3 để hiểu các khái niệm nhất định.
Cuối cùng, như đã lưu ý, không có chức năng quản trị nào có sẵn trên FTP
.
FTP/SFTP
là các giao thức tồn tại lâu dài đặc biệt và chúng tiếp tục tìm thấy các trường hợp sử dụng và tiện ích mới cho đến những năm 50 của chúng. Chúng tôi đã đơn giản hóa việc sử dụng FTP
để lấy dữ liệu vào MinIO và lấy nó ra.
Quan trọng hơn, chức năng FTP/SFTP
sẽ hoạt động trơn tru với việc triển khai MinIO hiện tại của bạn - chỉ cần nâng cấp và cung cấp cho bạn các bộ chứa MinIO với tất cả dữ liệu mà trước đó bạn phải chuyển đổi thành MinIO.
Chúng tôi có một video tuyệt vời về chủ đề này ở đây . Chúng tôi có trang GitHub của mình tại đây . Chúng tôi sẵn sàng hỗ trợ cộng đồng tại đây và rõ ràng, nếu bạn là khách hàng thương mại, bạn có thể tìm thấy chúng tôi 24/7/365 trên SUBNET.
Cũng được xuất bản ở đây .