Kalkulues Lejesh chmod Falas

Ndryshoni lejet e skedarëve Unix për pronarin, grupin dhe të tjerët për të marrë vlerën oktale (755), shënimin simbolik (rwxr-xr-x) dhe komandën e saktë chmod.

Funksionon jashtë linje sapo ngarkohet
LeximShkrimEkzekutimVlera
Pronari7
Grupi5
Të tjerët5
Bite speciale
Oktale (e modifikueshme)
rwxr-xr-x
Simbolike
Komanda
$ chmod 755 emri i skedarit

Paracaktime të zakonshme

Si funksionon

Ky mjet është një llogaritës i shkruar me dorë, tërësisht nga ana e klientit, i lejeve Unix — pa biblioteka, pa server. Modelon çdo leje si një bulean në një matricë gjendjeje React dhe konverton mes formateve oktale, simbolike, dhe ls -l duke përdorur aritmetikë të drejtpërdrejtë bitwise.

  1. 1
    Matrica e kutive të kontrollit vendos gjendjen
    Secila nga nëntë kutitë kontrolli lexim/shkrim/ekzekutim (pronari, grupi, të tjerët) ndërron një bulean në një objekt gjendjeje React. Bitet e veçanta — setuid, setgid, dhe sticky — gjurmohen veçmas në një objekt gjendjeje paralel.
  2. 2
    Aritmetika bitwise llogarit oktalen
    Funksioni octalFor() mbledh vlerat e lejeve aktive për çdo grup duke përdorur peshat fikse r=4, w=2, x=1. Tre shifrat e grupit bashkohen, dhe nëse është vendosur ndonjë bit i veçantë, një shifër e katërt kryesuese (setuid=4, setgid=2, sticky=1) shtohet përpara.
  3. 3
    Analizimi dydrejtimësh sinkronizon të gjitha hyrjet
    Shkrimi i një numri oktal 3- ose 4-shifror aktivizon parseOctal(), i cili përdor AND bitwise për të dekompozuar çdo shifër përsëri në bulenë lejesh dhe përditëson matricën e kutive të kontrollit. Ngjitja e një rreshti ls -l aktivizon parseLsPerms(), i cili përdor një regex për të nxjerrë vargun e lejeve me 9 karaktere dhe dekodon karaktere të veçantë si s, S, t, dhe T për setuid/setgid/sticky.
  4. 4
    Komanda chmod montohet dhe kopjohet
    Komanda përfundimtare chmod ndërtohet me interpolim vargjesh — mënyra oktale ose simbolike (forma u=rwx,g=rx,o=rx) — me flamurin opsional -R dhe emrin e skedarit objektiv. Klikimi i Kopjo e shkruan komandën te clipboard përmes navigator.clipboard.writeText(), i cili funksionon lokalisht pa asnjë thirrje rrjeti.

Mjete të ngjashme

Pyetjet e bëra më shpesh