Eldono de SFTP-Servilo SFTPGo 1.0

La unua signifa eldono de la servilo okazis SFTPGo 1.0, kiu ebligas al vi organizi foran aliron al dosieroj uzante la protokolojn SFTP, SCP/SSH kaj Rsync. Interalie, SFTPGo povas esti uzata por havigi aliron al Git-deponejoj uzante la SSH-protokolon. Datumoj povas esti translokigitaj ambaŭ de la loka dosiersistemo kaj de ekstera stokado kongrua kun Amazon S3 kaj Google Cloud Storage. Por stoki la uzantdatumbazon kaj metadatenojn, DBMS-oj kun subteno por SQL aŭ ŝlosilo/valorformato estas uzataj, kiel PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x aŭ bbolt 1.3.x. Ekzistas ankaŭ reĝimo por stoki metadatenojn en RAM, kiu ne postulas konekti eksteran datumbazon. La projektkodo estas skribita en Go kaj distribuita de licencita laŭ GPLv3.

Ŝlosilaj Karakterizaĵoj:

  • Ĉiu konto estas ĥrootita, limigante aliron al la hejma dosierujo de la uzanto. Eblas krei virtualajn adresarojn, kiuj referencas datumojn ekster la hejma dosierujo de la uzanto.
  • Kontoj estas stokitaj en virtuala uzantdatumbazo kiu ne interkovras kun la sistema uzantdatumbazo. SQLite, MySQL, PostgreSQL, bbolt kaj en-memora stokado povas esti uzataj por stoki uzantdatumbazon. Instalaĵoj estas disponigitaj por mapado de virtualaj kaj sistemkontoj - aŭ rekta aŭ hazarda mapado estas ebla (unu sistemuzanto povas esti mapita al alia virtuala uzanto).
  • Aŭtentikigo per publikaj ŝlosiloj, SSH-ŝlosiloj kaj pasvortoj estas subtenata (inkluzive de interaga aŭtentigo kun pasvorto enigita de la klavaro). Eblas ligi plurajn ŝlosilojn por ĉiu uzanto, kaj ankaŭ agordi plurfaktoran kaj plurpaŝan aŭtentikigon (ekzemple, en la kazo de sukcesa ŝlosila aŭtentigo, pasvorto povas esti aldone petita).
  • Por ĉiu uzanto, eblas agordi malsamajn aŭtentikigmetodojn, same kiel difini viajn proprajn metodojn, efektivigitajn per vokado de eksteraj aŭtentikilprogramoj (ekzemple, por aŭtentigo per LDAP) aŭ sendante petojn per la HTTP-API.
  • Eblas konekti eksterajn traktilojn aŭ HTTP-API-vokojn por dinamike ŝanĝi uzantparametrojn, nomitajn antaŭ ol la uzanto ensalutas. Subtenita dinamika kreante uzantojn post konekto.
  • Subtenas individuajn kvotojn por datumgrandeco kaj nombro da dosieroj.
  • Subteno por limigo de bendolarĝo kun aparta agordo de limigoj por envenanta kaj elira trafiko, same kiel limigoj pri la nombro da samtempaj konektoj.
  • Alirkontroliloj kiuj funkcias rilate al uzanto aŭ dosierujo (vi povas limigi rigardadon de listo de dosieroj, malpermesi alŝuti, elŝuti, anstataŭi, forigi, renomi aŭ ŝanĝi alirrajtojn, malpermesi la kreadon de dosierujoj aŭ simbolaj ligiloj, ktp.).
  • Por ĉiu uzanto, vi povas difini individuajn retajn limigojn, ekzemple, vi povas nur permesi ensalutojn de certaj IP-oj aŭ subretoj.
  • Ĝi subtenas konekti filtrilojn por elŝutita enhavo rilate al individuaj uzantoj kaj dosierujoj (ekzemple, vi povas bloki elŝuti dosierojn kun certa etendo).
  • Eblas ligi traktilojn, kiuj estas lanĉitaj dum diversaj operacioj kun dosiero (elŝuti, forigi, renomi ktp.). Krom vokado de prizorgantoj, sendado de sciigoj en formo de HTTP-petoj estas subtenata.
  • Aŭtomata ĉesigo de neaktivaj konektoj.
  • Ĝisdatigo de atoma agordo sen rompi konektojn.
  • Provizante metrikoj por monitorado en Prometheus.
  • La protokolo HAProxy PROXY estas subtenata por organizi ŝarĝan ekvilibron aŭ prokurajn konektojn al SFTP/SCP-servoj sen perdi informojn pri la fonta IP-adreso de la uzanto.
  • REST-API administri uzantojn kaj adresarojn, krei sekurkopiojn kaj generi raportojn pri aktivaj konektoj.
  • Reta interfaco (http://127.0.0.1:8080/web) por agordo kaj monitorado (agordo per regulaj agordaj dosieroj ankaŭ estas subtenata).
  • Kapablo difini agordojn en formatoj JSON, TOML, YAML, HCL kaj envfile.
  • subteno konektoj per SSH kun limigita aliro al sistemaj komandoj. Ekzemple, estas permesite ruli komandojn necesajn por Git (git-receive-pack, git-upload-pack, git-upload-archive) kaj rsync, same kiel plurajn enkonstruitajn komandojn (scp, md5sum, sha*sum). , cd, pwd, sftpgo-copy kaj sftpgo-remove).
  • Modo porteblaj kunhavigi unu komunan dosierujon kun aŭtomata generacio de konekskreditaĵoj reklamitaj per multirolantaro DNS.
  • Enigita sistemo profilado por analizo de rendimento.
  • Simpligita procezo migrado de Linuksaj sistemkontoj.
  • Stokado protokolo en JSON-formato.

fonto: opennet.ru

Aldoni komenton