CH-J Toolsbainisteoireacht freastalaí SSH
Roghchlár

Cianshábháil eagarthóir agus monatóireacht folaigh

Íosluchtaigh comhad

Tá athbhreithniú teanga ar an aistriúchán seo ar siúl. Má tá sliocht doiléir, féach ar an mbuntéacs Béarla.

Cúiseanna forúsáideoir

Uasluchtaigh an t-eagarthóir roimhe seo a chomhad oibre isteach i máthairchomhadlann na sprice, agus ní féidir é a scríobh go minic ag an gceann SSH Cuntas faoi /etc nó /var. SFTP athainmniú sholáthair aon chosán sudo údaraithe, seiceáil coimhlinte bunlíne, fíorú meiteashonraí slándála nó semantics forscríobh iontaofa. A láimhseálaí earráid scriosadh an chóip shealadach, a bhaint ábhar a ghnóthú fiú nuair a bhí críochnaithe éiginnte.

Stádas an tseisiúin nochta roimhe seo ach staid an cheangail. Ní raibh aon ICMP ná fíordheimhnithe SSH tomhas freagartha bheathú an táscaire críochfoirt.

Sábháil an prótacal

  1. A seasta SSH cúntóir osclaíonn rialta, comhad aon- nasc ag baint úsáide as tuairisceoir-gaol oibríochtaí agus O_NOFOLLOW le gach comhpháirt conaire. Gabhann sé an t-ábhar, SHA-256 hash, gléas / inode, UID, GID, giotán cead iomlán, nanasecond modhnú / athrú amanna agus gach tréithe inléite leathnaithe. verifies Croí an hash agus decodes dian UTF-8, a chaomhnú BOM. Faigheann gach cáipéis teimhneach editId, raon feidhme a breiseán, seisiún teirminéil agus féiniúlacht freastalaí.
  2. Réitíonn oibríocht ullmhúcháin gan údarú an chuntais fíordheimhnithe baile trí pwd.getpwuid(os.getuid()), cruthaíonn $HOME/ch-j-sm/ leis an modh 0700 agus cruthaíonn sé príobháideach, iris aisghabháil eisiach. Diúltaítear baile, spás oibre nascleanúna, nó spás oibre atá ar úinéireacht ag cuntas eile.
  3. Bun- uasluchtú i bhfolach, randamach 128- giotán .tmp comhad oibre trí SFTP le cruthú eisiach (wx), modh 0600 agus teorainn ama seasca dara cainéal / uaslódála. Tá an sprioc, bonnlíne bunaidh agus obair ionchais hash; tá sé aon dintiúir.
  4. One SSH exec fheidhmíonn an críochnú iomlán, optionally tríd an seiceadóir sudo atá ann cheana. Osclaíonn an cúntóir go sábháilte agus cuireann sé an chóip oibre príobháideach agus flushes sé. Glasaíonn sé an t-ionnóid bunaidh, seiceálacha a bonnlíne, cruthaíonn sé comhad scríbe eisiach in aice leis an sprioc, scríobhann gach ábhar, feidhm agus verifies meiteashonraí, seiceálacha an bunaidh arís, agus flushes an athsholáthar.
  5. Tagann an t-eolaire céanna os.replace in ionad an sprioc. An máthair Tá eolaire flushed agus an cosán deiridh, hash, indea agus meiteashonraí a fhíorú. Fanann an bhunchonair ar fáil go dtí go n- ionadaítear é. Riamh Tá an comhad oibre ar athraíodh a ionad ar fud córais comhad agus tá sé as oifig ag críochnú.
  6. Tar éis go bhfaigheann Core rath fíoraithe, Athsheiceáil glanta ar leith an deiridh ábhar agus meiteashonraí slándála roimh bhaint an comhad oibre agus iris. Tuairiscíonn teip glanta fós a shábháil deimhnithe le recoveryAvailable: true.

Theip ar uasluchtú, theip ar sudo, coimhlint, earráid mheiteashonraí nó teipthe coimeádann athsholáthar an bhunábhar agus aon ábhar céimnithe. Aithnítear uaslódálacha neamhiomlána mar sin agus ní féidir iad a aisghabháil mar dhoiciméad curtha in eagar iomlán. Caillte SSH cumarsáid, stádas scoir ar iarraidh, timeouts agus torthaí críochnú gan choinne a thuairisciú mar anaithnid, riamh mar a shábháil. Blocanna Croí eile a shábháil ar dhoiciméad éiginnte; níl aon retry athsholáthair uathoibríoch.

Meiteashonraí, pribhléidí agus teorainneacha sábháilteachta

Caomhnaíonn agus déanann an cúntóir UID, GID agus gach giotán ceada POSIX, lena n-áirítear clár inrite, setuid, giotáin daingnithe agus greamaitheacha. Atáirgeann sé tréithe Linux síneadh beart do bheart, lena n-áirítear POSIX ACLs, cumais agus lipéid SELinux. Tá úinéireacht agus ábhar comhaid leagtha roimh tréithe slándála, toisc gur féidir le scríobhann / a bhfuil cumas soiléir nó giotán cead speisialta. Baintear tréithe scríbe lotated atá as láthair ar an mbunleagan. Léiríonn an t-am Modhnuithe an scríobh nua agus nach bhfuil cóipe ó na bunaidh.

Aitreabúid dholéite nó neamh- inchaite IMA / EVM sínithe diúltaíodh go sainráite toisc go mbeadh ábhar / isteach isteach isteach shíniú sláine neamhbhailí orthu. Comharthaí sa sprioc nó cosán baile, comhaid crua-nasctha agus comhaid neamhrialta diúltaíodh. Gan in áit nó níos laige SFTP Tá forscríobh fallback úsáidtear.

Sábháil mar ghnáth- inscríofa SSH cuntas. Saves cosanta gá { sudo: true } follasach; tá focal faire sudo roghnach do sudo gan focal faire. Tá na focail fhaire bailíochtaithe agus rite ach amháin ar an ghnáth- ionchur cainéal, riamh taobh istigh den ordú, iris, comhad oibre, logger nó earráid chianda. Bain úsáid as an seiceadóir fréamhacha díreach atá ann cheana féin mar fhréamh SSH. Níorbh fhéidir an bhunchóip agus an chóip oibre a fhágáil slán. Gach Sábháil mar fhréamh (forúsáideoir díreach SSH nó sudo) dhiúltú freisin sprioc eolairí /ancestors úinéireacht nó inscríofa ag cuntais eile, nó ag iompar rochtain ACL, seachas trusting paitname phribhléid rialú ag cuntas eile.

Ritheann an cúntóir seasta le python3 -I -B: neamhaird sé cosáin úsáideora Python, an eolaire oibre agus úsáideoirí pacáistí suíomh, agus scríobhann aon bytecode. Conairí agus argóintí JSON shell-quoted in Core. Breiseáin riamh a fháil treallach SSH exec nó SFTP Láimhseálann. Bosca gainimh atá ann cheana féin, CSP, ceadanna a léiriú, Tá fíorú eochair óstach agus fíorú cothrom le dáta in úsáid.

Plugin API agus fágtha comhtháthú Monaco

An ar leithligh Monaco / Bainisteoir Comhad Chomhéadain as láthair ón Seiceáil. A chomhtháthú Chomhéadain, sudo leid, Ní raibh láimhseáil salach-buffer agus aistriúcháin a chur i bhfeidhm nó a thástáil anseo. Is é an fhoinse breiseán bundled an breiseán Hash & Seiceáil an breiseán. Níor Cruthaíodh aon fhoinse Bhainisteoir Comhad ionadach.

Tá na modhanna atá ann faoi láthair ar fáil fós. Modhanna/roghanna breise curtha i láthair ag an réamhlódáil agus am reatha seiceáilte ag an gaineamhbhosca:

const opened = await chjPlugin.files.readText(sessionId, path);
// For a protected read, explicitly pass { sudo: true, sudoPassword }.

const result = await chjPlugin.files.saveText(sessionId, path, editor.getValue(), {
  editId: opened.editId,
  sudo: true,           // Include only after the user authorizes elevation.
  sudoPassword         // Omit for passwordless sudo; never persist this value.
});

if (result.ok && result.value.status === "saved") {
  // Mark this exact submitted editor version as saved. Later edits stay dirty.
} else {
  // Keep the Monaco model dirty. Translate result.error.code/status.
  // result.error.recoveryId/recoveryPath identify retained working material.
}

await chjPlugin.files.closeText(opened.editId);
const recovery = await chjPlugin.files.listRecovery(sessionId);
const copy = await chjPlugin.files.readRecovery(sessionId, recoveryId);
// Review copy.status and copy.text; open a fresh document before another save.
await chjPlugin.files.cleanupRecovery(sessionId, recoveryId);
// Cleanup rejects anything whose target is not currently confirmed.

Glacann modhanna aisghabhála deiridh roghnach { sudo: true, sudoPassword } Éilíonn argóint nuair iniúchadh sprioc ingearchló. Coinníonn siad spás oibre an úsáideora fíordheimhnithe fiú nuair a fhorghníomhú trí sudo. Journals maireachtáil app atosú agus SSH athlonnú; riamh a ghnóthú redoes go huathoibríoch críochnú. Athbhreithniú maolán aisghafa in aghaidh sprioc úr oscailte roimh shábháil go sainráite é.

files.read gardaí léann, iniúchadh agus a láimhseáil scaoileadh. files.write gardaí Sábhálann agus a ghnóthú glanadh. writeText diúltú fós do mhainneachtain plugins atá ann cheana; saveText a fhilleann struchtúr { ok, value/error } clúdach mar gheall ar Electron titeann airíonna saincheaptha nuair a dhiúltaítear Earráid. Is féidir le oidhreacht trí argóint writeText úsáid a bhaint as an bonnlíne doiciméad amháin oscailte. Éilíonn doiciméid beo il le haghaidh an cosán céanna editId; glaonna oidhreacht débhríoch theipeann sábháilte in ionad roghnú doiciméad eile bonnlíne. Ba chóir do bhreiseáin láimhseáil gan úsáid a bhaint as.

Ní mór don Chomhéadain seachtrach a thaispeáint shábháil láithreach, a choinneáil maoláin salach ar teip, thairiscint sudo ach amháin tar éis an cead / teipeanna fhíorú, coinbhleachtaí a thaispeáint gan overwriting, agus a thairiscint aisghabháil tar éis caillteanas nasc nó toradh anaithnid. Caithfidh sé na stáit sin a aistriú i Seicis, Gearmáinis agus i mBéarla. Cóip stáit molta:

State Czech German English
Saving Ukládání… Wird gespeichert… Saving…
Confirmed Uloženo Gespeichert Saved
Failure Uložení selhalo Speichern fehlgeschlagen Save failed
Sudo required Vyžadováno oprávnění sudo sudo-Autorisierung erforderlich Sudo authorization required
Conflict Původní soubor byl změněn Originaldatei wurde geändert Original file changed
Disconnected Spojení bylo přerušeno Verbindung unterbrochen Connection lost
Unknown Výsledek uložení není znám Speicherergebnis unbekannt Save result unknown
Recovery Obnova je dostupná Wiederherstellung verfügbar Recovery available

Sainmhínithe Lonrachta agus saolré

Ping Is é an latency tuairiscíodh ag cliant-taobh iarbhír ICMP macalla freagra ar an IP réiteach in úsáid ag SSH. Croí agairt an clár inrite ping ardán asynchronously le eagar argóint seasta, gan Shell nó riachtanas tosaithe riarthóir. Linux, macOS (lena n-áirítear ping6) agus Windows roghnófar argóintí eatarthu féin. Blocáilte ICMP, clár inrite ar iarraidh, teorainn ama, aschur neamhbhailí nó uachtair-cheangal amháin Windows freagra a thabhairt, mar shampla <1ms luach gan aimsiú, ní uimhir invented é.

SSH RTT is monatón é performance.now() fad socraithe true Theip ar fhíordheimhniú SSH cliant. Cuimsíonn sé cainéil thus, próiseáil freastalaí agus a sheachadadh fhreagra; nach bhfuil sé RTT líonra íon nó SSH Aga logála isteach. Míníonn an táscaire aistrithe tooltip an t-idirdhealú.

Tosaíonn monatóireacht a luaithe a nascann an teirminéal. Probes reáchtáil i gcomhthráth agus asynchronously, le timeout iarratas cúig-dara / phróiseáil. Is é an sampla eile sceidealta dhá soicind tar éis a chríochnaíonn an sampla roimhe, forluí a chosc. Dícheangail tobscoir ICMP, timers nglanann, ceal ar feitheamh SSH obair agus glanann luachanna. Seiceálacha aitheantais Taifead cosc nasc roimh ré ó fhoilsiú tar éis athnascadh. Ní raibh an teip ICMP athruithe riamh SSH stát nasc.

Taistealann Latenency laistigh den imeacht state atá ann cheana / ssh:state IPC íocload:

latency: { pingMs: 24.1, sshRttMs: 31.25, measuredAt: "…" }

Tá uimhreacha gan fáil null. Úsáideann an táscaire teirminéil dlúth milleasoicindí, logánta téacs agus lipéid Seicis/German/English. Seithí sé ar dhícheangal. Ní raibh gá le haon chumas breise chun forghníomhú rindreálaí nó iarratas IPC.

Teorainneacha ama agus oibríochtúla

An t- úsáideoir a iarrtar a choinneáil ar athruithe sa chrann oibre atá ann faoi láthair, faoi láthair feature/hash-checksum-plugin; Rinneadh aon athrú brainse nó glanadh unbuild.

Comhaid athraithe don tasc seo