SFTP zerbitzariaren SFTPGo 1.0 askatzea

Zerbitzariaren lehen kaleratze esanguratsua gertatu zen SFTPGo 1.0, SFTP, SCP/SSH eta Rsync protokoloak erabiliz fitxategietarako urruneko sarbidea antolatzeko aukera ematen duena. Besteak beste, SFTPGo Git biltegietara sarbidea emateko erabil daiteke SSH protokoloa erabiliz. Datuak fitxategi-sistema lokaletik zein Amazon S3 eta Google Cloud Storage-ekin bateragarria den kanpoko biltegiratzetik transferi daitezke. Erabiltzailearen datu-basea eta metadatuak gordetzeko, SQL edo gako/balio formatua onartzen duten DBMSak erabiltzen dira, hala nola PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x edo bbolt 1.3.x. RAMan metadatuak gordetzeko modu bat ere badago, kanpoko datu-base bat konektatu behar ez duena. Proiektuaren kodea Go-n idatzita dago eta arabera banatuta GPLv3 lizentziapean.

Ezaugarri nagusiak:

  • Kontu bakoitza chrooteatuta dago, erabiltzailearen hasierako direktoriorako sarbidea mugatuz. Posible da erabiltzailearen hasierako direktoriotik kanpo datuak erreferentzia egiten dituzten direktorio birtualak sortzea.
  • Kontuak sistemaren erabiltzaileen datu-basearekin gainjartzen ez den erabiltzailearen datu-base birtualean gordetzen dira. SQLite, MySQL, PostgreSQL, bbolt eta memorian biltegiratzea erabil daiteke erabiltzaileen datu-baseak gordetzeko. Kontu birtualak eta sistemaren mapak egiteko instalazioak eskaintzen dira - zuzeneko edo ausazko mapak egitea posible da (sistemaren erabiltzaile bat beste erabiltzaile birtual batekin mapatu daiteke).
  • Gako publikoak, SSH gakoak eta pasahitzak erabiliz autentifikazioa onartzen da (teklatutik sartutako pasahitz batekin autentifikazio interaktiboa barne). Erabiltzaile bakoitzarentzat hainbat gako lotzea posible da, baita faktore anitzeko eta urrats anitzeko autentifikazioa konfiguratu ere (adibidez, gakoen autentifikazio arrakastatsua izanez gero, pasahitz bat ere eska daiteke).
  • Erabiltzaile bakoitzarentzat, posible da autentifikazio-metodo desberdinak konfiguratzea, baita zure metodoak definitzea ere, kanpoko autentifikazio-programak deituz (adibidez, LDAP bidez autentifikatzeko) edo HTTP API bidez eskaerak bidaliz.
  • Posible da kanpoko kudeatzaileak edo HTTP API deiak konektatzea erabiltzailearen parametroak dinamikoki aldatzeko, erabiltzaileak saioa hasi aurretik deituta. Onartua dinamikoa konektatzean erabiltzaileak sortzea.
  • Datuen tamainaren eta fitxategi kopuruaren kuota indibidualak onartzen ditu.
  • Banda-zabalera mugatzeko laguntza, sarrerako eta irteerako trafikorako murrizketen konfigurazio bereiziarekin, baita aldibereko konexio kopuruaren murrizketekin ere.
  • Erabiltzaile edo direktorio bati lotuta funtzionatzen duten sarbidea kontrolatzeko tresnak (fitxategien zerrenda ikustea muga dezakezu, igotzea, deskargatzea, gainidaztea, ezabatzea, izena aldatu edo sarbide-eskubideak aldatzea debekatu, direktorio edo esteka sinbolikoak sortzea debekatu, etab.).
  • Erabiltzaile bakoitzeko, sare-murriztapen indibidualak defini ditzakezu, adibidez, IP edo azpisare jakin batzuetako saioak soilik baimendu ditzakezu.
  • Deskargatutako edukietarako iragazkiak konektatzea onartzen du banakako erabiltzaile eta direktorioei dagokienez (adibidez, hedapen jakin bat duten fitxategiak deskargatzea blokeatu dezakezu).
  • Hainbat eragiketetan abiarazten diren kudeatzaileak fitxategi batekin lotu daitezke (deskargatu, ezabatu, izena aldatu, etab.). Kudeatzaileei deitzeaz gain, jakinarazpenak HTTP eskaerak bidaltzea onartzen da.
  • Konexio inaktiboen amaiera automatikoa.
  • Konfigurazio atomikoa eguneratzea konexioak hautsi gabe.
  • Hornitzen Prometheus-en monitorizatzeko neurketak.
  • HAProxy PROXY protokoloa onartzen da karga orekatzea edo SFTP/SCP zerbitzuetarako proxy konexioak antolatzeko, erabiltzailearen iturriko IP helbideari buruzko informazioa galdu gabe.
  • REST API erabiltzaileak eta direktorioa kudeatzeko, babeskopiak sortzeko eta konexio aktiboei buruzko txostenak sortzeko.
  • Web interfazea (http://127.0.0.1:8080/web) konfiguratzeko eta monitorizatzeko (konfigurazio-fitxategi arrunten bidezko konfigurazioa ere onartzen da).
  • JSON, TOML, YAML, HCL eta envfile formatuetan ezarpenak definitzeko gaitasuna.
  • Lagundu SSH bidezko konexioak sistemaren komandoetarako sarbide mugatua dutenak. Adibidez, Git-erako beharrezkoak diren komandoak (git-receive-pack, git-upload-pack, git-upload-archive) eta rsync-erako beharrezkoak diren komandoak exekutatu daitezke, baita hainbat komando barne (scp, md5sum, sha*sum). , cd, pwd, sftpgo-copy eta sftpgo-remove).
  • erregimen eramangarriak direktorio komun bat partekatzeko, multicast DNS bidez iragartzen diren konexio-kredentzialak automatikoki sortzearekin.
  • Sistema txertatua profila egitea errendimendua aztertzeko.
  • Sinplifikatua prozesua Linux sistemako kontuen migrazioa.
  • biltegiratze erregistroak JSON formatuan.

Iturria: opennet.ru

Gehitu iruzkin berria