SFTP Sunucusu SFTPGo 1.0 Sürümü

Sunucunun ilk önemli sürümü gerçekleşti SFTPGo 1.0SFTP, SCP/SSH ve Rsync protokollerini kullanarak dosyalara uzaktan erişimi düzenlemenize olanak tanır. Diğer şeylerin yanı sıra SFTPGo, SSH protokolünü kullanarak Git depolarına erişim sağlamak için kullanılabilir. Veriler hem yerel dosya sisteminden hem de Amazon S3 ve Google Cloud Storage ile uyumlu harici depolamadan aktarılabilir. Kullanıcı veritabanını ve meta verilerini depolamak için PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x veya gibi SQL veya anahtar/değer formatını destekleyen DBMS'ler kullanılır. bbolt 1.3.x. Ayrıca, harici bir veritabanına bağlanmayı gerektirmeyen, meta verileri RAM'de depolamak için bir mod da vardır. Proje kodu Go'da yazılmıştır ve tarafından dağıtıldı GPLv3 altında lisanslanmıştır.

Ana Özellikler:

  • Her hesap, kullanıcının ana dizinine erişimi kısıtlayacak şekilde köklenmiştir. Kullanıcının ana dizini dışındaki verilere atıfta bulunan sanal dizinler oluşturmak mümkündür.
  • Hesaplar, sistem kullanıcı veritabanıyla kesişmeyen bir sanal kullanıcı veritabanında saklanır. Kullanıcı veritabanlarını depolamak için SQLite, MySQL, PostgreSQL, bbolt ve bellek içi depolama kullanılabilir. Sanal ve sistem hesaplarını eşlemek için araçlar sağlanmıştır - doğrudan veya isteğe bağlı eşleme mümkündür (bir sistem kullanıcısı başka bir sanal kullanıcıyla eşlenebilir).
  • Genel anahtar, SSH anahtarı ve parola kimlik doğrulaması desteklenir (klavye parola girişiyle etkileşimli kimlik doğrulama dahil). Her kullanıcı için birkaç anahtar bağlamak ve ayrıca çok faktörlü ve çok aşamalı kimlik doğrulaması ayarlamak mümkündür (örneğin, başarılı anahtar kimlik doğrulaması durumunda ek olarak bir parola istenebilir).
  • Her kullanıcı için farklı kimlik doğrulama yöntemleri yapılandırmak ve harici kimlik doğrulayıcı programları çağırarak (örneğin, LDAP aracılığıyla kimlik doğrulama için) veya HTTP API aracılığıyla istekler göndererek uygulanan kendi yöntemlerini tanımlamak mümkündür.
  • Kullanıcı oturum açmadan önce çağrılan kullanıcı parametrelerini dinamik olarak değiştirmek için harici işleyicileri veya HTTP API çağrılarını bağlamak mümkündür. Destekleniyor dinamik bağlantı sırasında kullanıcılar oluşturma.
  • Veri boyutu ve dosya sayısı için bireysel kota desteği.
  • Gelen ve giden trafiğin sınırları için ayrı ayarlar ve aynı zamanda eşzamanlı bağlantı sayısı için sınırlar ile bant genişliği sınırlama desteği.
  • Bir kullanıcı veya dizinle ilgili olarak hareket eden erişim kontrol araçları (dosya listesinin görüntülenmesini kısıtlayabilir, yüklemeyi, indirmeyi, üzerine yazmayı, silmeyi, yeniden adlandırmayı veya erişim haklarını değiştirmeyi, dizinlerin veya sembolik bağlantıların oluşturulmasını yasaklamayı vb.) yasaklayabilirsiniz.
  • Her kullanıcı için ayrı ağ kısıtlamaları tanımlayabilirsiniz, örneğin yalnızca belirli IP'lerden veya alt ağlardan erişime izin verebilirsiniz.
  • Bireysel kullanıcılar ve dizinlerle ilgili olarak indirilebilir içerik için filtrelerin bağlantısını destekler (örneğin, belirli bir uzantıya sahip dosyaların indirilmesini engelleyebilirsiniz).
  • Çeşitli işlemler sırasında başlatılan işleyicileri dosyayla (yükleme, silme, yeniden adlandırma vb.) bağlayabilirsiniz. Arama işleyicilerine ek olarak, HTTP istekleri biçiminde bildirimlerin gönderilmesi desteklenir.
  • Etkin olmayan bağlantıların otomatik olarak sonlandırılması.
  • Bağlantıları kesmeden atomik yapılandırma güncellemesi.
  • Sağlama Prometheus'ta izlemeye yönelik ölçümler.
  • HAProxy PROXY protokolü, kullanıcının kaynak IP adresi bilgisini kaybetmeden SFTP/SCP hizmetlerine yük dengeleme veya proxy bağlantıları düzenlemek için desteklenir.
  • REST API kullanıcıları ve dizinleri yönetmek, yedeklemeler oluşturmak ve aktif bağlantılarla ilgili raporlar oluşturmak için.
  • Web arayüzü (http://127.0.0.1:8080/web) yapılandırma ve izleme için (normal yapılandırma dosyaları aracılığıyla yapılandırma da desteklenir).
  • JSON, TOML, YAML, HCL ve envfile formatlarında ayarları tanımlayabilme.
  • Destek sistem komutlarına sınırlı erişimle SSH aracılığıyla bağlantılar. Örneğin Git için gerekli komutların (git-receive-pack, git-upload-pack, git-upload-archive) ve rsync'in yanı sıra çeşitli yerleşik komutların (scp, md5sum, sha*sum) çalıştırılmasına izin verilir. , cd, pwd, sftpgo-copy ve sftpgo-remove).
  • rejim taşınabilir çok noktaya yayın DNS aracılığıyla tanıtılan bağlantı kimlik bilgilerinin otomatik oluşturulmasıyla ortak bir dizini paylaşmak için.
  • Yerleşik sistem profil oluşturma performans analizi için.
  • Basitleştirilmiş süreç Linux sistem hesaplarının taşınması.
  • Depolama JSON formatında günlüğe kaydeder.

Kaynak: opennet.ru

Yorum ekle