Toimus esimene mĂ€rkimisvÀÀrne SFTPGo serveri vĂ€ljalase. , mis vĂ”imaldab korraldada kaugjuurdepÀÀsu failidele protokollide SFTP, SCP/SSH ja Rsync abil. SFTPGo-d saab kasutada ka Git-repositorite juurdepÀÀsu andmiseks SSH-protokolli abil. Andmed vĂ”ivad pĂ€rineda nii lokaalsest failisĂŒsteemist kui ka vĂ€listest kogudest, mis on ĂŒhilduvad Amazon S3 ja Google Cloud Storage'iga. Kasutajabaasi ja metainformatsiooni salvestamiseks kasutatakse SQL-toega andmebaase vĂ”i vĂ”tme/vÀÀrtuse formaate, nagu PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x vĂ”i . Samuti on olemas mĂ€lu salvestamise reĆŸiim, mis ei vaja vĂ€list andmebaasi. Projekti kood on kirjutatud Go keeles ja ja GPLv3 litsentsi alusel.
PÔhiomadused:
- Iga konto jaoks rakendatakse chroot-isolatsiooni, mis piirab ligipÀÀsu kasutaja kodukataloogile. Virtuaalsete kataloogide loomine, mis viitavad andmetele vÀljaspool kasutaja kodukatalooge, on vÔimalik.
- Kontod salvestatakse virtuaalsesse kasutajate andmebaasi, mis ei sega sĂŒsteemi kasutajate andmebaasiga. Virtuaalsete kasutajate andmebaasi salvestamiseks vĂ”ivad kasutada SQLite, MySQL, PostgreSQL, bbolt ja mĂ€lus hoidmine. Pakutakse vahendeid virtuaalsete ja sĂŒsteemi kontode sidumiseks â on vĂ”imalik otse vĂ”i juhuslik sidumine (ĂŒks sĂŒsteemi kasutaja vĂ”ib olla seotud mitme virtuaalse kasutajaga).
- Toetatakse autentimist avalike vĂ”tmete, SSH vĂ”tmete ja paroolide kaudu (sealhulgas interaktiivne autentimine, kus parool sisestatakse klaviatuurilt). Iga kasutaja jaoks on vĂ”imalik siduda mitu vĂ”tit, samuti seadistada mitme teguri ja mitmeastmelist autentimist (nĂ€iteks vĂ”ib vĂ”tmega eduka autentimise korral tĂ€iendavalt kĂŒsida parooli).
- Iga kasutaja jaoks on vÔimalik seadistada erinevaid autentimismeetodeid ning mÀÀrata oma meetodid, mida rakendatakse vÀliste autentimisskripti kutse kaudu (nÀiteks LDAP kaudu autentimise jaoks) vÔi HTTP API kaudu pÀringute saatmise kaudu.
- vĂ€listarbijate vĂ”i HTTP API-kĂ”nede ĂŒhendamine on vĂ”imalik, et dĂŒnaamiliselt muuta kasutaja parameetreid, mis kutsutakse esile enne kasutaja sisenemist. Toetatakse kasutajate loomist ĂŒhendamisel.
- Toetatakse individuaalseid kvoote andmete suuruse ja failide arvu jaoks.
- Toetatakse ribalaiuse piiranguid eraldi seadistamisega sisse- ja vĂ€ljundliiklust kasutades ning piirangutega samaaegsete ĂŒhenduste arvule.
- LigipÀÀsu piiramise vahendid, mis kehtivad kasutaja vĂ”i katalooge sidudes (saab piirata failide loendi vaatamist, keelata ĂŒleslaadimise, allalaadimise, kirjutamise, kustutamise, ĂŒmbernimetamise vĂ”i juurdepÀÀsu muutmise, keelata kataloogide vĂ”i sĂŒmboolsete linkide loomise jne.).
- Iga kasutaja jaoks on vÔimalik mÀÀrata individuaalsed vÔrgu piirangud, nÀiteks vÔib lubada sisselogimise ainult teatud IP-delt vÔi alamvÔrkudest.
- Toetatakse laadimisfilterite ĂŒhendamist, mis on seotud ĂŒhe kasutaja ja kataloogidega (nĂ€iteks saab blokeerida teatud laiendiga failide ĂŒleslaadimise).
- VĂ”imalik on siduda kĂ€itlejad, mis aktiveeruvad erinevate failitoimingute (ĂŒleslaadimine, kustutamine, ĂŒmbernimetamine jne.) kĂ€igus. Lisaks kĂ€itlejate kutsumisele toetatakse teavituste saatmist HTTP-pĂ€ringute kujul.
- Automaatne aktiivsete ĂŒhenduste lĂ”petamine.
- Aatomaarne konfiguratsiooni uuendamine ilma ĂŒhenduste katkestamiseta.
- meetmed jÀlgimiseks Prometheuse kaudu.
- Toetatakse HAProxy PROXY protokolli, et korraldada koormuse tasakaalustamist vĂ”i ĂŒhenduste proksimist SFTP/SCP teenustele ilma kasutaja algse IP-aadressi andmete kadumiseta.
- kasutajate ja kataloogide haldamiseks, varukoopiate tegemiseks ja aktiivsete ĂŒhenduste aruannete koostamiseks.
- (http://127.0.0.1:8080/web) seadistamiseks ja jÀlgimiseks (toetatakse ka seadistamist tavapÀraste konfiguratsioonifailide kaudu).
- VÔimalus mÀÀrata seadeid JSON, TOML, YAML, HCL ja envfile formaatides.
- SSH ĂŒhendust, mis piirab juurdepÀÀsu sĂŒsteemi kĂ€skudele. NĂ€iteks on lubatud kĂ€skude kĂ€ivitamine, mis on vajalik Git'i (git-receive-pack, git-upload-pack, git-upload-archive) ja rsync'i tööks, samuti mĂ”ned sisseehitatud kĂ€sud (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy ja sftpgo-remove).
- ReĆŸiim ĂŒhe jagatud katalooge jagamise jaoks koos automaatse ĂŒhenduse andmete genereerimisega, mis kuulutatakse vĂ€lja multicast DNS kaudu.
- Sisseehitatud sooritusvĂ”ime analĂŒĂŒsiks.
- Lihtsustatud Linuxi sĂŒsteemide kasutajakontode migreerimine.
- JSON formaadis logid.
Allikas: opennet.ru
