Esimene olulisem serveri versioon on välja antud , mis võimaldab korraldada kaugjuurdepääsu failidele SFTP, SCP/SSH ja Rsync protokollide kaudu. SFTPGo-d saab kasutada ka Git-repositorite juurdepääsu pakkumiseks SSH-protokolli kaudu. Andmeid saab edastada nii kohalikust failisüsteemist kui ka välisest Amazon S3 ja Google Cloud Storage'i ühilduvast salvestusruumist. Kasutajabaasi ja metainfo salvestamiseks kasutatakse SQL- või võtme/väärtuse formaatide toetavaid andmebaase, nagu PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x või . Samuti on olemas mälu režiim metainformatsiooni salvestamiseks, mis ei nõua välise andmebaasi ühendamist. Projekti kood on kirjutatud Go keeles ja GPLv3 litsentsi alusel.
Peamised omadused:
- Iga konto jaoks rakendatakse chroot-isoleerimist, mis piirab juurdepääsu kasutaja kodukataloogile. On võimalik luua virtuaalseid katalooge, mis viitavad andmetele väljaspool kasutaja kodukatalooge.
- Kontod salvestatakse virtuaalsesse kasutajaklassi, mis ei ühti süsteemi kasutajaklassiga. Kasutajaklasside salvestamiseks võivad kasutada SQLite, MySQL, PostgreSQL, bbolt ja mälusalvestus. Pakutakse vahendeid virtuaalsete ja süsteemsete kontode vastastikuseks seostamiseks — üks süsteemne kasutaja võib olla seotud teise virtuaalse kasutajaga.
- Toetatakse avaliku võtme, SSH võtmete ja paroolide autentimist (sealhulgas interaktiivne autentimine, kus parooli sisestatakse klaviatuurilt). Iga kasutaja jaoks on võimalik siduda mitu võtit ning seadistada mitmeastmelist ja mitmefaktorilist autentimist (näiteks võib eduka võtmeautentimise korral täiendavalt küsida parooli).
- Iga kasutaja jaoks on võimalik seadistada erinevaid autentimismeetodeid ning määrata enda meetodeid, mida teostatakse väliste autentimisprogrammide kaudu (näiteks LDAP autentimiseks) või HTTP API kaudu päringute saatmise teel.
- on võimalik ühendada väliseid töötlejate või HTTP API kõnesid kasutaja parameetrite dünaamiliseks muutmiseks, millel on kasutaja sisselogimise eel. Toetatakse kasutajate loomist sisselogimisel.
- Toetatakse individuaalseid kvoote andmete mahu ja failide arvu jaoks.
- Toetatakse ribalaiuse piirangu seadistamist, kus eraldi seadistatakse piirangud sissetuleva ja väljamineva liikluse jaoks, samuti samal ajal olevate ühenduste arvu piirangud.
- Kasutajakontole või kataloogile määratud juurdepääsu piirangud (saab piirata failide loendi vaatamist, keelata üleslaadimise, allalaadimise, ümberkirjutamise, kustutamise, ümbernimetamise või juurdepääsu õiguste muutmist, keelata kataloogide või sümboolsete linkide loomist jne).
- Iga kasutaja jaoks saab määrata individuaalse võrgu piirangu, näiteks lubada sisselogimist ainult teatud IP-de või alamvõrkude kaudu.
- Toetatakse kasutajate ja kataloogide mängu filtri rakendusi (näiteks saab blokeerida failide üleslaadimist teatud failitüüpidega).
- Toetatakse töötlejate sidumist, mis käivituvad erinevate failitegevuste ajal (üleslaadimine, kustutamine, ümbernimetamine jne). Lisaks töötlejate kutsumisele toetatakse ka teadete saatmist HTTP-päringute vormis.
- Automaatne mitteaktiivsete ühenduste lõpetamine.
- Aatomaarne konfiguratsiooni värskendus ilma ühenduste katkestamiseta.
- metriike seireks Prometheuses.
- Toetatakse HAProxy PROXY protokolli, et korraldada koormuse tasakaalustamist või ühenduste proksimist SFTP/SCP teenustele, jäädes samas kasutaja algse IP-aadressi teavet kaotamata.
- kasutajate ja kataloogide haldamiseks, varukoopiate loomiseks ja aktiivsete ühenduste aruannete koostamiseks.
- (http://127.0.0.1:8080/web) seadistamiseks ja jälgimiseks (toetatakse ka tavaliste konfiguratsioonifailide kaudu seadistamist).
- Seadistuste määramine JSON, TOML, YAML, HCL ja envfile formaatides.
- SSH ühendused, millel on piiratud juurdepääs süsteemikomandodele. Näiteks on lubatud käivitada käske, mis on vajalikud Git'i tööks (git-receive-pack, git-upload-pack, git-upload-archive) ja rsync, samuti mitmeid sisseehitatud käske (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy ja sftpgo-remove).
- Režiim ühe jagatud katalooge automaatsete ühenduse seadistuste genereerimisega, mida kuulutatakse kaudu multicast DNS.
- Sisseehitatud süsteem töötluse analüüsimiseks.
- Lihtsustatud Linuxi süsteemi kasutajakontode migratsioon.
- logid JSON-vormingus.
Allikas: opennet.ru
