SFTP Server SFTPGo 1.0 versiyasi

Serverning birinchi muhim chiqarilishi bo'lib o'tdi SFTPGo 1.0, bu SFTP, SCP/SSH va Rsync protokollari yordamida fayllarga masofaviy kirishni tashkil qilish imkonini beradi. Boshqa narsalar qatorida, SFTPGo SSH protokoli yordamida Git omborlariga kirishni ta'minlash uchun ishlatilishi mumkin. Ma'lumotlar mahalliy fayl tizimidan ham, Amazon S3 va Google Cloud Storage bilan mos keladigan tashqi xotiradan ham uzatilishi mumkin. Foydalanuvchi ma'lumotlar bazasi va metama'lumotlarini saqlash uchun SQL yoki kalit/qiymat formatini qo'llab-quvvatlaydigan DBMSlar ishlatiladi, masalan, PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x yoki bbolt 1.3.x. RAMda metama'lumotlarni saqlash rejimi ham mavjud, bu esa tashqi ma'lumotlar bazasini ulashni talab qilmaydi. Loyiha kodi Go va da yozilgan tarqaladi GPLv3 ostida litsenziyalangan.

Asosiy xususiyatlari:

  • Har bir hisob chrootlangan bo'lib, foydalanuvchining uy katalogiga kirishni cheklaydi. Foydalanuvchining uy katalogidan tashqarida ma'lumotlarga havola qiluvchi virtual kataloglarni yaratish mumkin.
  • Hisoblar tizim foydalanuvchisi ma'lumotlar bazasi bilan mos kelmaydigan virtual foydalanuvchi ma'lumotlar bazasida saqlanadi. Foydalanuvchi ma'lumotlar bazalarini saqlash uchun SQLite, MySQL, PostgreSQL, bbolt va xotirada saqlashdan foydalanish mumkin. Virtual va tizim hisoblarini xaritalash uchun qulayliklar taqdim etiladi - to'g'ridan-to'g'ri yoki tasodifiy xaritalash mumkin (bir tizim foydalanuvchisi boshqa virtual foydalanuvchiga ko'rsatilishi mumkin).
  • Ochiq kalitlar, SSH kalitlari va parollar yordamida autentifikatsiya qo'llab-quvvatlanadi (shu jumladan klaviaturadan kiritilgan parol bilan interaktiv autentifikatsiya). Har bir foydalanuvchi uchun bir nechta kalitlarni bog'lash, shuningdek, ko'p faktorli va ko'p bosqichli autentifikatsiyani sozlash mumkin (masalan, kalitni autentifikatsiya qilish muvaffaqiyatli bo'lsa, qo'shimcha ravishda parol so'ralishi mumkin).
  • Har bir foydalanuvchi uchun turli xil autentifikatsiya usullarini sozlash, shuningdek, tashqi autentifikatsiya dasturlarini chaqirish (masalan, LDAP orqali autentifikatsiya qilish uchun) yoki HTTP API orqali so'rovlarni yuborish orqali amalga oshiriladigan o'z uslublaringizni belgilash mumkin.
  • Foydalanuvchi tizimga kirishdan oldin chaqiriladigan foydalanuvchi parametrlarini dinamik ravishda o'zgartirish uchun tashqi ishlov beruvchilarni yoki HTTP API qo'ng'iroqlarini ulash mumkin. Qo'llab-quvvatlanadi dinamik ulanishda foydalanuvchilarni yaratish.
  • Ma'lumotlar hajmi va fayllar soni uchun individual kvotalarni qo'llab-quvvatlaydi.
  • Kiruvchi va chiquvchi trafik uchun cheklovlarning alohida konfiguratsiyasi, shuningdek, bir vaqtning o'zida ulanishlar soni bo'yicha cheklovlar bilan o'tkazish qobiliyatini cheklashni qo'llab-quvvatlash.
  • Foydalanuvchi yoki katalog bilan bog'liq holda ishlaydigan kirishni boshqarish vositalari (siz fayllar ro'yxatini ko'rishni cheklashingiz, yuklashni, yuklab olishni, qayta yozishni, o'chirishni, nomini o'zgartirishni yoki kirish huquqlarini o'zgartirishni taqiqlashingiz, kataloglar yoki ramziy havolalar yaratishni taqiqlashingiz mumkin va hokazo).
  • Har bir foydalanuvchi uchun siz individual tarmoq cheklovlarini belgilashingiz mumkin, masalan, faqat ma'lum IP yoki pastki tarmoqlardan kirishga ruxsat berishingiz mumkin.
  • U individual foydalanuvchilar va kataloglarga nisbatan yuklab olingan kontent uchun ulanish filtrlarini qo'llab-quvvatlaydi (masalan, ma'lum kengaytmali fayllarni yuklab olishni bloklashingiz mumkin).
  • Turli operatsiyalar davomida ishga tushiriladigan ishlov beruvchilarni fayl bilan bog'lash mumkin (yuklab olish, o'chirish, nomini o'zgartirish va h.k.). Qo'ng'iroqlarni qayta ishlashga qo'shimcha ravishda HTTP so'rovlari shaklida bildirishnomalarni yuborish qo'llab-quvvatlanadi.
  • Nofaol ulanishlarni avtomatik ravishda tugatish.
  • Atom konfiguratsiyasini ulanishlarni uzmasdan yangilash.
  • Ta'minlash Prometeyda monitoring uchun o'lchovlar.
  • HAProxy PROXY protokoli yuk balansini yoki SFTP/SCP xizmatlariga proksi-ulanishlarni foydalanuvchining manba IP manzili haqidagi ma'lumotlarni yo'qotmasdan tashkil qilish uchun qo'llab-quvvatlanadi.
  • REST API foydalanuvchilar va kataloglarni boshqarish, zaxira nusxalarini yaratish va faol ulanishlar bo'yicha hisobotlarni yaratish.
  • Veb-interfeys (http://127.0.0.1:8080/web) konfiguratsiya va monitoring uchun (muntazam konfiguratsiya fayllari orqali konfiguratsiya ham qo'llab-quvvatlanadi).
  • JSON, TOML, YAML, HCL va envfile formatlarida sozlamalarni aniqlash imkoniyati.
  • qo'llab-quvvatlash tizim buyruqlariga cheklangan kirish bilan SSH orqali ulanishlar. Masalan, Git (git-receive-pack, git-upload-pack, git-upload-archive) va rsync uchun zarur bo'lgan buyruqlarni, shuningdek, bir nechta o'rnatilgan buyruqlarni (scp, md5sum, sha*sum) ishga tushirishga ruxsat beriladi. , cd, pwd, sftpgo-nusxalash va sftpgo-olib tashlash).
  • rejimi ko'chma multicast DNS orqali e'lon qilingan ulanish hisob ma'lumotlarini avtomatik yaratish bilan bitta umumiy katalogni almashish.
  • O'rnatilgan tizim profil yaratish samaradorlikni tahlil qilish uchun.
  • Soddalashtirilgan jarayon Linux tizim hisoblarini ko'chirish.
  • saqlash JSON formatidagi jurnallar.

Manba: opennet.ru

a Izoh qo'shish