paint-brush
मिनियो एफ़टीपी/एसएफटीपी सर्वर स्थापित करना - अब पहले से कहीं अधिक डेटा विकल्पों के साथद्वारा@minio
8,302 रीडिंग
8,302 रीडिंग

मिनियो एफ़टीपी/एसएफटीपी सर्वर स्थापित करना - अब पहले से कहीं अधिक डेटा विकल्पों के साथ

द्वारा MinIO6m2023/07/25
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

जबकि S3 एपीआई मौलिक रूप से बेहतर है, इसमें एफ़टीपी/एसएफटीपी की सरलता और अत्यधिक प्रतिबंधित वातावरण में चलने की क्षमता का अभाव है। परिणामस्वरूप, MiniIO ने MiniIO सर्वर में FTP और SFTP के लिए समर्थन जोड़ा है।
featured image - मिनियो एफ़टीपी/एसएफटीपी सर्वर स्थापित करना - अब पहले से कहीं अधिक डेटा विकल्पों के साथ
MinIO HackerNoon profile picture
0-item
1-item
2-item

यह सोचना अजीब है कि फाइल ट्रांसफर प्रोटोकॉल ( FTP ) कितने समय से मौजूद है। पहली बार 1971 में MIT के छात्र अभय भूषण द्वारा विकसित किया गया था, शुरुआत में इसका उपयोग ARPANET पर कंप्यूटरों के बीच फ़ाइलों को स्थानांतरित करने के लिए किया गया था। यह कहने की आवश्यकता नहीं है कि यह विकसित हुआ - प्रमाणीकरण, एन्क्रिप्शन और संपीड़न सुविधाओं के साथ। यह इंटरनेट पर फ़ाइलों को स्थानांतरित करने के लिए व्यापक रूप से उपयोग किया जाने वाला प्रोटोकॉल है, खासकर ऐसे मामलों में जहां बड़ी फ़ाइलों या बड़ी संख्या में फ़ाइलों को जल्दी और विश्वसनीय रूप से स्थानांतरित करने की आवश्यकता होती है।


जबकि S3 API मौलिक रूप से बेहतर है, इसमें FTP/SFTP की सरलता और अत्यधिक प्रतिबंधित वातावरण में चलने की क्षमता का अभाव है। परिणामस्वरूप, मिनिओ ने मिनियो सर्वर में FTP और SFTP के लिए समर्थन जोड़ा है। इस नई कार्यक्षमता के साथ, उपयोगकर्ता (या एप्लिकेशन) सोचता है कि वे एक FTP सर्वर से बात कर रहे हैं जबकि वास्तव में वे मिनिआईओ से बात कर रहे हैं। फायदे स्पष्ट होने चाहिए - डेटा को मिनिओ पर ले जाना निर्बाध हो जाता है और एप्लिकेशन/उपयोगकर्ता के नजरिए से सब कुछ अनिवार्य रूप से समान है - नीतियों, सुरक्षा आदि से।


वर्तमान में समर्थित FTP/SFTP संचालन इस प्रकार हैं:


एफ़टीपी-क्लाइंट कमांड

का समर्थन किया

पाना

हाँ

रखना

हाँ

रास

हाँ

mkdir

हाँ

rmdir

हाँ

मिटाना

हाँ

संलग्न

नहीं

नाम बदलने

नहीं


मिनिआईओ डेटा तक पहुंचने और प्रबंधित करने के लिए निम्नलिखित FTP/SFTP आधारित प्रोटोकॉल का समर्थन करता है।


  • सिक्योर फाइल ट्रांसफर प्रोटोकॉल ( SFTP ) - इंटरनेट इंजीनियरिंग टास्क फोर्स (आईईटीएफ) द्वारा एसएसएच 2.0 के विस्तारित संस्करण के रूप में परिभाषित किया गया है, जो एसएसएच पर फाइल ट्रांसफर और ट्रांसपोर्ट लेयर सिक्योरिटी (टीएलएस) और वीपीएन अनुप्रयोगों के साथ उपयोग की अनुमति देता है।


  • एसएसएल/टीएलएस ( FTPS ) पर फ़ाइल ट्रांसफर प्रोटोकॉल - टीएलएस प्रमाणपत्रों के माध्यम से एन्क्रिप्टेड FTP संचार।


  • फ़ाइल स्थानांतरण प्रोटोकॉल ( FTP ) - मूल रूप से आरएफसी114 द्वारा परिभाषित, और आरएफसी765 और आरएफसी959 अनएन्क्रिप्टेड एफ़टीपी संचार द्वारा प्रतिस्थापित किया गया

    • यह अनुशंसित नहीं है


इस रिलीज़ में क्या शामिल है:


  • रोटेटिंग क्रेडेंशियल्स को छोड़कर सभी IAM क्रेडेंशियल्स को एक्सेस की अनुमति है, रोटेटिंग क्रेडेंशियल्स को FTP/SFTP पोर्ट के माध्यम से लॉगिन करने की अनुमति नहीं है। यदि आप रोटेटिंग क्रेडेंशियल्स का उपयोग कर रहे हैं तो आपको S3 API पोर्ट का उपयोग करना होगा।


  • बकेट और ऑब्जेक्ट तक पहुंच आने वाले लॉगिन क्रेडेंशियल से जुड़ी IAM नीतियों के माध्यम से नियंत्रित होती है।


  • सभी के लिए प्रमाणीकरण और पहुंच की अनुमति देता है

    • अंतर्निहित आईडीपी उपयोगकर्ता और उनके संबंधित सेवा खाते
    • एलडीएपी/एडी उपयोगकर्ता और उनके संबंधित सेवा खाते
    • ओपनआईडी/ओआईडीसी सेवा खाते


  • संस्करणित बकेट पर, FTP/SFTP केवल नवीनतम ऑब्जेक्ट पर काम करता है। यदि आपको पुराने संस्करण को पुनः प्राप्त करने की आवश्यकता है तो आपको mc जैसे S3 API client उपयोग करना होगा।


  • आपके बकेट द्वारा वर्तमान में उपयोग की जाने वाली सभी सुविधाएँ बिना किसी बदलाव के "जैसा है" वैसे ही काम करेंगी
    -एसएसई (सर्वर साइड एन्क्रिप्शन)
    -प्रतिकृति (सर्वर साइड प्रतिकृति)


अनिवार्य रूप से, यह डेवलपर/प्रशासक के दृष्टिकोण से एक निर्बाध प्रोटोकॉल जोड़ होना चाहिए।

पूर्वापेक्षाएँ और नोट्स

यह कार्यक्षमता RELEASE.2023-04-20T17-56-55Z से प्रारंभ होकर उपलब्ध है।


यह माना जाता है कि उपयोगकर्ताओं को प्रासंगिक पहुंच नीतियों के साथ पहले ही बनाया और कॉन्फ़िगर किया जा चुका है। मिनिआईओ एक उपयोगकर्ता के लिए किस स्तर के प्रतिबंधों की आवश्यकता है, इसे अंतिम रूप देने से पहले सभी परिचालनों का परीक्षण करने के लिए एक बुनियादी "रीडराइट" डिब्बाबंद नीति से शुरुआत करने की सलाह देता है।


बकेट और ऑब्जेक्ट तक FTP/SFTP पहुंच के लिए कोई "एडमिन:*" ऑपरेशन आवश्यक नहीं है। प्रतिबंधों के कारण उन्हें छोड़ा जा सकता है।


महत्वपूर्ण नोट: FTP/SFTP डिफ़ॉल्ट रूप से सक्षम नहीं है। इसे सेटअप पर सक्षम करने की आवश्यकता है. इसके अलावा, FTP के माध्यम से कोई व्यवस्थापक कार्यक्षमता उपलब्ध नहीं है, यह कमांड लाइन के माध्यम से किया जाना चाहिए।

प्रयोग

FTP/SFTP सक्षम होने के साथ, वितरित सेटअप में MiniIO प्रारंभ करें।


 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" ... ...


निम्नलिखित उदाहरण minioadmin क्रेडेंशियल्स का उपयोग करके ftp क्लाइंट के माध्यम से कनेक्ट करना दिखाता है, और 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/ ...


निम्नलिखित उदाहरण दिखाता है कि किसी ऑब्जेक्ट को कैसे सूचीबद्ध किया जाए और उसे 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) ...

एसएफटीपी पर नोट्स

यदि सर्वर पर प्रमाणपत्र सक्षम हैं, तो SFTP उपयोग किया जा सकता है। बशर्ते FTP क्लाइंट सक्षम हो, ट्रांसमिशन को सुरक्षित करने के लिए टीएलएस का उपयोग किया जा सकता है। इसके लिए निजी कुंजी के लिए एक अतिरिक्त ध्वज की आवश्यकता होगी।


निम्न उदाहरण minioadmin क्रेडेंशियल्स का उपयोग करके sftp क्लाइंट के माध्यम से कनेक्ट करना दिखाता है, और runner नामक एक बकेट को सूचीबद्ध करता है:


 sftp -P 8022 minioadmin@localhost minioadmin@localhost's password: Connected to localhost. sftp> ls runner/ chunkdocs testdir


निम्नलिखित उदाहरण दिखाता है कि sftp क्लाइंट के माध्यम से किसी ऑब्जेक्ट को स्थानीय रूप से कैसे डाउनलोड किया जाए:


 sftp> get runner/chunkdocs/metadata metadata Fetching /runner/chunkdocs/metadata to metadata metadata 100% 226 16.6KB/s 00:00 sftp>

उन्नत विकल्प

डिफ़ॉल्ट एफ़टीपी पोर्ट बदलें

डिफ़ॉल्ट पोर्ट 8021 को इसके माध्यम से बदला जा सकता है


 --ftp="address=:3021"

एफ़टीपी निष्क्रिय पोर्ट रेंज बदलें

डिफ़ॉल्ट रूप से FTP अनुरोध करता है कि ओएस स्वचालित रूप से एक मुफ्त पोर्ट प्रदान करता है, हालाँकि आप इसे कुछ प्रतिबंधित वातावरणों में विशिष्ट पोर्ट तक सीमित करना चाह सकते हैं


 --ftp="passive-port-range=30000-40000"

डिफ़ॉल्ट SFTP पोर्ट बदलें

डिफ़ॉल्ट पोर्ट 8022 को इसके माध्यम से बदला जा सकता है


 --sftp="address=:3022"

टीएलएस (एफ़टीपी)

SFTP सर्वर के विपरीत, FTP सर्वर डिफ़ॉल्ट रूप से असुरक्षित है। टीएलएस मोड के तहत काम करने के लिए, आपको प्रमाणपत्र प्रदान करना होगा


 --ftp="tls-private-key=path/to/private.key" --ftp="tls-public-cert=path/to/public.crt"


ध्यान दें : यदि मिनिओ वितरित सेटअप पहले से ही टीएलएस के तहत चलाने के लिए कॉन्फ़िगर किया गया है, FTP स्वचालित रूप से सर्वर प्रमाणपत्र श्रृंखला से संबंधित प्रमाणपत्रों का उपयोग करेगा, यह मुख्य रूप से सेटअप की सादगी को जोड़ने के लिए है। हालाँकि यदि आप अपने FTP सर्वर के लिए एक अलग डोमेन के माध्यम से टीएलएस प्रमाणपत्र समाप्त करना चाहते हैं तो आप उपरोक्त कमांड लाइन विकल्प चुन सकते हैं।

सीमाएँ

हमने पहले नोट किया था कि जोड़ें और नाम बदलें समर्थन फ़ंक्शन नहीं हैं।


FTP की सरलता को देखते हुए - संस्करणीकरण भी समस्याग्रस्त है। वर्जनिंग FTP द्वारा समर्थित नहीं है और FTP क्लाइंट नहीं जानते कि यह वास्तव में क्या है - लेकिन बकेट में आम तौर पर किसी ऑब्जेक्ट के कई संस्करण होंगे। परिणामस्वरूप, नए नाम वाली वही वस्तु एक नई वस्तु होगी। समान नाम वाली वही वस्तु एक नया संस्करण होगी - लेकिन FTP के पास इसकी कोई अवधारणा नहीं है, इसे S3 के माध्यम से प्रबंधित करने की आवश्यकता है। यह डेटा को स्थानांतरित कर सकता है, लेकिन इसमें कुछ अवधारणाओं को समझने के लिए S3 का परिष्कार नहीं है।


अंत में, जैसा कि उल्लेख किया गया है, FTP पर कोई व्यवस्थापक फ़ंक्शन उपलब्ध नहीं हैं।

सारांश

FTP/SFTP असाधारण रूप से लंबे समय तक चलने वाले प्रोटोकॉल हैं और वे 50 के दशक में भी नए उपयोग के मामले और उपयोगिता ढूंढते रहते हैं। हमने MinIO में डेटा प्राप्त करने और उसे बाहर निकालने के लिए FTP उपयोग करना सरल बना दिया है।


इससे भी महत्वपूर्ण बात यह है FTP/SFTP कार्यक्षमता आपके मौजूदा मिनियो परिनियोजन के साथ निर्बाध रूप से काम करेगी - बस अपग्रेड करें और आपको मिनियो बकेट में वह सारा डेटा फीड करें जो आपको पहले मिनियो में बदलना था।


हमारे पास यहां इस विषय पर एक बेहतरीन वीडियो है। हमारा GitHub पेज यहां है। हम यहां समुदाय का समर्थन करने के लिए उपलब्ध हैं और जाहिर है, यदि आप एक वाणिज्यिक ग्राहक हैं तो आप हमें SUBNET पर 24/7/365 पर पा सकते हैं।


यहाँ भी प्रकाशित किया गया है.