Kuidas kasutada chmod käsku Linuxis

Kontrollige, kes saavad failidele juurde pääseda, katalooge otsida ja skripte käitada Linuxi abil chmod käsk. See käsk muudab Linuxi faili lubasid, mis näivad esmapilgul keerulised, kuid on tegelikult üsna lihtsad, kui teate, kuidas need töötavad.

chmod Muudab faili õigusi

Kes Linuxis faili või kataloogiga midagi teha saab, on Linuxis kontrollitud õiguste komplektide kaudu. Lubasid on kolm. Üks komplekt faili omanikule, teine ​​komplekt faili rühma liikmetele ja viimane komplekt kõigile teistele.

Õigused kontrollivad toiminguid, mida saab failis või kataloogis teha. Need kas lubavad või takistavad faili lugemist, muutmist või kui see on skript või programm, siis käivitamist. Kataloogi puhul kehtivad õigused, kes saab cd kataloogi ja kes saavad kataloogis faile luua või muuta.

Kasutatechmod käsk kõigi nende õiguste määramiseks. Faili või kataloogi jaoks määratud õiguste vaatamiseks saame seda kasutada ls.

Faili lubade vaatamine ja mõistmine

Saame kasutada -L (pika vormingu) võimalus ls loetlege failide ja kataloogide failiload.

ls -l

Igal real määrab esimene märk loendis oleva kirje tüübi. Kui see on kriips (-) see on fail. Kui see on kiri d see on kataloog.

Järgmised üheksa märki tähistavad kolme õiguste komplekti seadeid.

  • Esimesed kolm tähemärki näitavad faili omava kasutaja õigusi (kasutaja õigused).
  • Kolm keskmist tähemärki näitavad failirühma liikmete õigusi (grupi load).
  • Kolm viimast märki näitavad õigusi kõigile, kes ei kuulu kahte esimesse kategooriasse (muud load).

Igas õiguste komplektis on kolm tähemärki. Märgid tähistavad ühe õiguse olemasolu või puudumist. Nad on kas kriips (-) või kiri. Kui märk on kriips, tähendab see, et luba ei anta. Kui märk on r, wvõi x, see luba on antud.

Tähed tähistavad:

  • r: Lugemisõigused. Faili saab avada ja selle sisu vaadata.
  • w: Kirjutamisõigused. Faili saab muuta, muuta ja kustutada.
  • x: Õiguste käivitamine. Kui fail on skript või programm, saab seda käivitada (käivitada).

Näiteks:

  •  --- tähendab, et lube pole üldse antud.
  •  rwx tähendab, et on antud täielikud load. Lugemis-, kirjutamis- ja käivitamisnäitajad on olemas.

Meie ekraanipildil algab esimene rida tähega d. See rida viitab kataloogile nimega “arhiiv”. Kataloogi omanik on "dave" ja grupi nime, kuhu kataloog kuulub, nimetatakse ka "dave".

Järgmised kolm märki on selle kataloogi kasutajaõigused. Need näitavad, et omanikul on täielikud õigused. The r, wja x kõik tegelased on kohal. See tähendab, et kasutaja Dave on selle kataloogi jaoks lugemis-, kirjutamis- ja täitmisõigused.

Kolme tähemärgi teine ​​komplekt on rühmaõigused, need on r-x. Need näitavad, et dave'i rühma liikmed on selle kataloogi jaoks lugenud ja täitnud õigusi. See tähendab, et nad saavad faile ja nende sisu kataloogis loetleda ja saavad cd (käivitada) sellesse kataloogi. Neil pole kirjutamisõigusi, seega ei saa nad faile luua, muuta ega kustutada.

Kolme tähemärgi lõplik komplekt on kar-x. Need õigused kehtivad inimestele, keda kaks esimest õiguste komplekti ei reguleeri. Need inimesed (nn “teised”) on selles kataloogis lugenud ja neid lubanud.

Kokkuvõtteks võib öelda, et grupi liikmetel ja teistel on õigused läbi loetud ja täidetud. Omanikul, kasutajal, keda kutsutakse dave'iks, on ka kirjutamisõigused.

Kõigi teiste failide (välja arvatud skriptifail mh.sh) puhul on dave ja grupi dave liikmed failidele lugemis- ja kirjutamisomadusi ning teistel on ainult lugemisõigused.

Skriptifaili mh.sh erijuhtumi puhul on omanik Dave ja grupi liikmed lugemis-, kirjutamis- ja täitmisõigusi ning teised lugemis- ja täitmisõigusi.

Loa süntaksi mõistmine

Kasutada chmod lubade määramiseks peame seda ütlema:

  • WHO: Kellele me õigused määrame.
  • Mida: Mis muudatust me teeme? Kas lisame või eemaldame loa?
  • Mis: Milliseid õigusi me määrame?

Nende väärtuste esitamiseks kasutame indikaatoreid ja moodustame lühikesi lubade avaldusi, näiteks u + x, kus “u” tähendab “kasutaja” (kes), “+” tähendab lisamist (mida) ja “x” tähendab luba (mis).

“Kes” väärtused, mida saame kasutada, on:

  • u: Kasutaja, see tähendab faili omanik.
  • g: Grupp, mis tähendab grupi liikmeid, kuhu fail kuulub.
  • o: Teised, see tähendab inimesi, mida ei reguleeri u ja g õigused.
  • a: Kõik, mis tähendab kõike ülaltoodut.

Kui ühtegi neist ei kasutata, chmod käitub nagu “a”Oli kasutatud.

"Mida" väärtused, mida saame kasutada, on järgmised:

  • : Miinusmärk. Eemaldab loa.
  • +: Plussmärk. Annab loa. Luba lisatakse olemasolevatele lubadele. Kui soovite, et teil oleks see luba ja ainult see luba oleks määratud, kasutage seda = allpool kirjeldatud valikut.
  • =: Võrdusmärk. Määrake luba ja eemaldage teised.

Milliseid väärtusi saame kasutada, on:

  • r: Lugemisluba.
  • w: Kirjutamisluba.
  • x: Täitke luba.

Lubade määramine ja muutmine

Oletame, et meil on fail, kus kõigil on sellel täielikud õigused.

ls -l uus_ fail.txt

Soovime, et kasutajal Dave oleks lugemis- ja kirjutamisõigused ning grupil ja teistel kasutajatel ainult lugemisõigused. Saame seda teha järgmise käsu abil:

chmod u = rw, og = r uus_fail.txt

Operaatori “=” kasutamine tähendab, et kustutame kõik olemasolevad õigused ja määrame seejärel määratud õigused.

kontrollime selle faili uut luba:

ls -l uus_fail.txt

Olemasolevad load on eemaldatud ja uued õigused on määratud, nagu me eeldasime.

Kuidas oleks loa lisamisega ilma eemaldate olemasolevad lubade seaded? Ka me saame sellega hakkama.

Oletame, et meil on skriptifail, mille redigeerimise oleme lõpetanud. Peame selle kõigi kasutajate jaoks käivitatavaks tegema. Selle praegused load näevad välja sellised:

ls -l uus_skript.sh

Saame kõigile käivitamisloa lisada järgmise käsuga:

chmod a + x uus_skript.sh

Kui vaatame õigusi, näeme, et täitmisluba antakse nüüd kõigile ja olemasolevad load on endiselt paigas.

ls -l uus_skript.sh

Oleksime võinud sama saavutada ilma a-x-ina avaldises „a + x”. Järgmine käsk oleks sama hästi toiminud.

chmod + x uus_skript.sh

Mitme faili lubade määramine

Saame korraga mitmele failile õigusi rakendada.

Need on praeguses kataloogis olevad failid:

ls -l

Oletame, et soovime eemaldada teiste kasutajate kirjutamisõigused failidest, millel on laiend „.page“. Saame seda teha järgmise käsuga:

chmod o-r * .leht

Kontrollime, mis mõju sellel on olnud:

ls -l

Nagu näeme, on kategooria „muud” kasutajate „.page” failidest eemaldatud lugemisluba. Ühtegi teist faili see pole mõjutanud.

Kui me oleksime tahtnud faile alamkataloogidesse lisada, oleksime võinud seda kasutada -R (rekursiivne) variant.

chmod -R o-r * .lk

Numbriline lühitekst

Teine võimalus kasutada chmod on anda õigused, mille soovite omanikule, grupile ja teistele anda kolmekohalise numbrina. Vasakpoolsem number tähistab omaniku õigusi. Keskmine number tähistab rühma liikmete õigusi. Parempoolne number tähistab teiste õigusi.

Numbrid, mida saate kasutada, ja nende tähised on loetletud siin:

  • 0: (000) Luba pole.
  • 1: (001) Täitke luba.
  • 2: (010) Kirjutamisluba.
  • 3: (011) õiguste kirjutamine ja täitmine.
  • 4: (100) Lugemisluba.
  • 5: (101) õiguste lugemine ja täitmine.
  • 6: (110) Lugemis- ja kirjutamisõigused.
  • 7: (111) Lugemis-, kirjutamis- ja täitmisõigused.

Kõiki kolme õigust tähistab üks bitte kümnendarvu binaarekvivalendis. Nii et 5, mis on binaarselt 101, tähendab lugemist ja täitmist. 2, mis on binaarselt 010, tähendaks kirjutamisõigust.

Selle meetodi abil määrate õigused, mida soovite saada; te ei lisa neid õigusi olemasolevatele lubadele. Nii et kui lugemis- ja kirjutamisõigused olid juba olemas, peaksite täitmisõiguste lisamiseks kasutama numbrit 7 (111). 1 (001) kasutamine eemaldaks lugemis- ja kirjutamisõigused ning lisaks täitmisõiguse.

Lisame teiste kasutajate kategooriale .page-failide juurde lugemisõiguse. Peame määrama ka kasutajate ja gruppide õigused, seega peame neile seadistama need, mis nad juba on. Nendel kasutajatel on juba lugemis- ja kirjutamisõigused, mis on 6 (110). Soovime, et teistel oleks lugemis- ja lubamisõigused, seega tuleb neile seada 4 (100).

Selle täidab järgmine käsk:

chmod 664 * .lk

See määrab kasutajale, grupi liikmetele ja teistele nõutavad õigused neile, mida me vajame. Kasutajate ja rühma liikmete õigused lähtestatakse juba olemasolevatele ning teistel on lugemisluba taastatud.

ls -l

Täpsemad valikud

Kui loete mehe lehte chmod näete, et on mõned täpsemad valikud, mis on seotud bittidega SETUID ja SETGID ning piiratud kustutamise või „kleepuva” bitiga.

99% juhtudest vajate chmod sest, siin kirjeldatud võimalused hõlmavad teid.