Den första betydande versionen av servern har slÀppts , som möjliggör fjÀrrÄtkomst till filer via protokollen SFTP, SCP/SSH och Rsync. SFTPGo kan Àven anvÀndas för att ge Ätkomst till Git-repositorier via SSH-protokollet. Data kan hÀmtas bÄde frÄn det lokala filsystemet och frÄn externa lagringslösningar som Àr kompatibla med Amazon S3 och Google Cloud Storage. AnvÀndardatabasen och metadata lagras i databaser som stöder SQL eller nyckel/vÀrde-format, sÄsom PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x eller . Det finns Àven ett lÀge för lagring av metadata i RAM, vilket inte krÀver anslutning till en extern databas. Projektets kod Àr skriven i Go och under GPLv3-licensen.
Huvudfunktioner:
- Chroot-isolering tillÀmpas för varje anvÀndarkonto, vilket begrÀnsar tillgÄngen till anvÀndarens hemkatalog. Virtuella kataloger kan skapas som hÀnvisar till data utanför anvÀndarens hemkatalog.
- AnvĂ€ndarkonton lagras i en virtuell anvĂ€ndardatabas som inte överlappar med systemets anvĂ€ndardatabas. SQLite, MySQL, PostgreSQL, bbolt och minneslagring kan anvĂ€ndas för att lagra anvĂ€ndardatabasen. Verktyg för att mappa virtuella och systemanvĂ€ndarkonton erbjuds â direkt eller godtycklig mapping (en systemanvĂ€ndare kan knytas till en annan virtuell anvĂ€ndare).
- Stöd för autentisering med offentliga nycklar, SSH-nycklar och lösenord (inklusive interaktiv autentisering med tangentbordsinmatning av lösenord). Flera nycklar kan kopplas till varje anvÀndare, liksom instÀllning av flerfaktors- och flertrinsautentisering (till exempel kan ett lösenord begÀras efter framgÄngsrik autentisering med nyckel).
- För varje anvÀndare kan olika autentiseringsmetoder konfigureras, samt egna metoder definieras genom anrop av externa autentiseringprogram (till exempel för autentisering via LDAP) eller genom att skicka förfrÄgningar via HTTP API.
- möjliggör anslutning av externa handlare eller anrop av HTTP API för dynamisk Àndring av anvÀndarens parametrar som anropas före anvÀndarinloggning. Stöder skapande av anvÀndare vid anslutning.
- Stöd för individuella kvoter för datamÀngd och antal filer.
- Stöd för att begrÀnsa bandbredd med separata instÀllningar för inkommande och utgÄende trafik, samt begrÀnsningar för antal samtidiga anslutningar.
- à tkomstkontrollverktyg som fungerar kopplade till anvÀndare eller kataloger (möjlighet att begrÀnsa visning av fillistor, förbjuda uppladdning, nedladdning, överskrivning, borttagning, omdöpning eller Àndring av rÀttigheter, förbjuda skapande av kataloger eller symboliska lÀnkar, etc.).
- För varje anvÀndare kan individuella nÀtverksbegrÀnsningar definieras, till exempel kan endast Ätkomst frÄn specifika IP-adresser eller subnÀt tillÄtas.
- Stöd för att koppla belastningsfiltrering av innehÄll till specifika anvÀndare och kataloger (till exempel kan uppladdning av filer med specifika filÀndelser blockeras).
- Det Àr möjligt att koppla hanterare som utlöses vid olika filoperationer (uppladdning, radering, omdöpning osv.). Förutom att kalla hanterare stöds Àven att skicka meddelanden i form av HTTP-förfrÄgningar.
- Automatisk avslutning av inaktiva anslutningar.
- AtomÀr uppdatering av konfigurationen utan att bryta anslutningar.
- av metrik för övervakning i Prometheus.
- Stöd för HAProxy PROXY-protokollet för att organisera lastbalansering eller proxy-anslutningar till SFTP/SCP-tjÀnster utan att tappa information om anvÀndarens ursprungliga IP-adress.
- för hantering av anvÀndare och kataloger, skapande av sÀkerhetskopior och generering av rapporter om aktiva anslutningar.
- (http://127.0.0.1:8080/web) för konfiguration och övervakning (instÀllning via vanliga konfigurationsfiler stöds ocksÄ).
- Möjlighet att definiera instÀllningar i formaten JSON, TOML, YAML, HCL och envfile.
- anslutningar via SSH med begrÀnsad Ätkomst till systemkommandon. Till exempel tillÄts körning av kommandon som krÀvs för Git (git-receive-pack, git-upload-pack, git-upload-archive) och rsync, samt flera inbyggda kommandon (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy och sftpgo-remove).
- LÀge för att dela en gemensam katalog med automatisk generering av inloggningsuppgifter som annonseras via multicast DNS.
- Inbyggt system för prestandaanalys.
- Förenklad migrering av systemanvÀndarkonton för Linux.
- loggar i JSON-format.
KĂ€lla: opennet.ru
