SFTPGo 1.0 SFTP सर्वर रिलीज

Состоялся первый значительный выпуск сервера SFTPGo 1.0, позволяющего организовать удалённый доступ к файлам при помощи протоколов SFTP, SCP/SSH и Rsync. В том числе SFTPGo может использоваться для предоставления доступа к Git-репозиториям, используя протокол SSH. Данные могут отдаваться как с локальной файловой системы, так и из внешних хранилищ, совместимых с Amazon S3 и Google Cloud Storage. Для хранения пользовательской базы и метаданных используются СУБД с поддержкой SQL или формата ключ/значение, такие как PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x или bbolt 1.3.x. Имеется также режим хранения метаданных в оперативной памяти, не требующий подключения внешней БД. Код проекта написан на языке Go и द्वारा वितरित GPLv3 के अंतर्गत लाइसेंस प्राप्त।

मुख्य विशेषताएं:

  • प्रत्येक खाता क्रोटेड है, जिससे उपयोगकर्ता की होम निर्देशिका तक पहुंच सीमित हो जाती है। वर्चुअल निर्देशिकाएँ बनाना संभव है जो उपयोगकर्ता की होम निर्देशिका के बाहर डेटा का संदर्भ देती हैं।
  • खाते एक वर्चुअल उपयोगकर्ता डेटाबेस में संग्रहीत होते हैं जो सिस्टम उपयोगकर्ता डेटाबेस के साथ ओवरलैप नहीं होता है। उपयोगकर्ता डेटाबेस को संग्रहीत करने के लिए SQLite, MySQL, PostgreSQL, bbolt और इन-मेमोरी स्टोरेज का उपयोग किया जा सकता है। वर्चुअल और सिस्टम खातों को मैप करने के लिए सुविधाएं प्रदान की जाती हैं - या तो प्रत्यक्ष या यादृच्छिक मैपिंग संभव है (एक सिस्टम उपयोगकर्ता को दूसरे वर्चुअल उपयोगकर्ता से मैप किया जा सकता है)।
  • सार्वजनिक कुंजी, एसएसएच कुंजी और पासवर्ड का उपयोग करके प्रमाणीकरण समर्थित है (कीबोर्ड से दर्ज पासवर्ड के साथ इंटरैक्टिव प्रमाणीकरण सहित)। प्रत्येक उपयोगकर्ता के लिए कई कुंजियाँ बाइंड करना संभव है, साथ ही मल्टी-फैक्टर और मल्टी-स्टेप प्रमाणीकरण सेट करना भी संभव है (उदाहरण के लिए, सफल कुंजी प्रमाणीकरण के मामले में, अतिरिक्त पासवर्ड का अनुरोध किया जा सकता है)।
  • प्रत्येक उपयोगकर्ता के लिए, विभिन्न प्रमाणीकरण विधियों को कॉन्फ़िगर करना, साथ ही अपने स्वयं के तरीकों को परिभाषित करना संभव है, जो बाहरी प्रमाणीकरण कार्यक्रमों को कॉल करके (उदाहरण के लिए, एलडीएपी के माध्यम से प्रमाणीकरण के लिए) या HTTP एपीआई के माध्यम से अनुरोध भेजकर लागू किया जाता है।
  • Возможно подключение внешних обработчиков или вызовов HTTP API для динамического изменения параметров пользователя, вызываемых перед входом пользователя. Поддерживается динамическое создание пользователей при подключении.
  • डेटा आकार और फ़ाइलों की संख्या के लिए अलग-अलग कोटा का समर्थन करता है।
  • इनकमिंग और आउटगोइंग ट्रैफ़िक के लिए प्रतिबंधों के अलग-अलग कॉन्फ़िगरेशन के साथ-साथ एक साथ कनेक्शन की संख्या पर प्रतिबंध के साथ बैंडविड्थ सीमित करने के लिए समर्थन।
  • एक्सेस नियंत्रण उपकरण जो किसी उपयोगकर्ता या निर्देशिका के संबंध में काम करते हैं (आप फ़ाइलों की सूची देखने को सीमित कर सकते हैं, अपलोड करने, डाउनलोड करने, ओवरराइट करने, हटाने, नाम बदलने या एक्सेस अधिकारों को बदलने पर रोक लगा सकते हैं, निर्देशिकाओं या प्रतीकात्मक लिंक के निर्माण पर रोक लगा सकते हैं, आदि)।
  • प्रत्येक उपयोगकर्ता के लिए, आप अलग-अलग नेटवर्क प्रतिबंधों को परिभाषित कर सकते हैं, उदाहरण के लिए, आप केवल कुछ आईपी या सबनेट से लॉगिन की अनुमति दे सकते हैं।
  • यह व्यक्तिगत उपयोगकर्ताओं और निर्देशिकाओं के संबंध में डाउनलोड की गई सामग्री के लिए कनेक्टिंग फ़िल्टर का समर्थन करता है (उदाहरण के लिए, आप एक निश्चित एक्सटेंशन के साथ फ़ाइलों को डाउनलोड करने से रोक सकते हैं)।
  • विभिन्न परिचालनों के दौरान लॉन्च किए गए हैंडलर को एक फ़ाइल (डाउनलोड, डिलीट, नाम बदलें, आदि) के साथ बांधना संभव है। हैंडलर को कॉल करने के अलावा, HTTP अनुरोधों के रूप में सूचनाएं भेजने का समर्थन किया जाता है।
  • निष्क्रिय कनेक्शनों की स्वचालित समाप्ति.
  • कनेक्शन तोड़े बिना परमाणु विन्यास अद्यतन।
  • उपलब्ध कराने के метрик для мониторинга в Prometheus.
  • HAProxy PROXY प्रोटोकॉल उपयोगकर्ता के स्रोत आईपी पते के बारे में जानकारी खोए बिना एसएफटीपी/एससीपी सेवाओं के लिए लोड संतुलन या प्रॉक्सी कनेक्शन व्यवस्थित करने के लिए समर्थित है।
  • बाकी एपीआई для управления пользователями и каталогами, создания резервных копий и формирования отчётов об активных соединениях.
  • वेब इंटरफेस (http://127.0.0.1:8080/web) для настройки и мониторинга (поддерживается и настройка через обычные файлы конфигурации).
  • JSON, TOML, YAML, HCL और envfile स्वरूपों में सेटिंग्स को परिभाषित करने की क्षमता।
  • Поддержка подключения по SSH с ограниченным доступом к системным командам. Например, разрешён запуск команд, необходимых для работы Git (git-receive-pack, git-upload-pack, git-upload-archive) и rsync, а также нескольких встроенных команд (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy и sftpgo-remove).
  • शासन पोर्टेबल для совместного использования одного общего каталога с автоматической генерацией учётных данных для подключения, анонсируемых через multicast DNS.
  • अंतः स्थापित प्रणाली профилирования для анализа производительности.
  • Упрощённый प्रक्रिया миграции системных учётных записей Linux.
  • सुरक्षित रखने के логов в формате JSON.

स्रोत: opennet.ru

एक टिप्पणी जोड़ें