Linux organiseer homself, net soos ander bedryfstelsels, deur middel van kaarte en lêers wat moontlik verkry, verander of uitgevoer kan word. Om interne anargie te voorkom, gee Linux verskillende vlakke van toestemming om met die lêers en kaarte te skakel. As u die regte wil verander, is die chmod (verander modus) opdrag wat u nodig het.
1 Die bekendstelling van die chmod Command
1.1 Gebruik die kommando ls vir 'n langformaatlys
1.2 Die chmod Command in Action
2 Bykomende opsies van die chmod Command
Die bekendstelling van die chmod Command
Wat kan chmod toelaat om te verander? Aan verskillende gebruikers kan toestemming verleen of geweier word vir die lees (r) van 'n lêer, die skryf van (w) na die lêer en die uitvoering (x) van die lêer, in die geval van 'n program. Die toestemmingstelsel vir kaarte is baie dieselfde: 'r' vir die lees van die inhoud van die gids, 'w' om in die gids in te skryf deur lêers of subgidse te skep, en 'x' vir die invoer van die gids.
Hierdie toestemmingsvlakke kan gedefinieer word vir die eienaar (u) van die lêer of gids, die groep (g) waaraan die eienaar behoort, die ander (o) gebruikers, of eenvoudig alle (a) gebruikers tegelyk..
Gebruik die kommando ls vir 'n langformaatlys
As u byvoorbeeld die ls-opdrag met die -l-opsie (vir 'n langformaat-lys) op 'n gegewe lêer soos my_app gebruik, sal u die uitvoering soortgelyk hieraan sien:
1 -rwxr-x – x 1 hadley tech 729 15 Maart 15 08:01 my_app
Die heel eerste karakter ("–In hierdie geval) wys dat die entiteit "my_app" wel 'n lêer is. As dit 'n gids was, sou ons d as die heel eerste karakter gesien het. Vervolgens sien ons drie lotte van drie karakters (rwxr-x – x). Die eerste drie (rwx) beteken dat die eienaar van die lêer ('Hadley' 'n bietjie verder genoem) die toestemming het om my_app te lees, te skryf en uit te voer. Die volgende drie (r-x) dui aan dat lede van dieselfde groep as Hadley (die 'tegniese' groep) my_app mag lees en uitvoer, maar dit nie kan skryf of verander nie. Die laaste drie karakters (–x). beteken dat ander gebruikers my_app eenvoudig kan uitvoer, maar nie daarop kan lees of skryf nie.
Die chmod Command in Action
Hoe gebruik ons ​​chmod om hierdie regte te verander? Ons gebruik 'n opdrag soos:
In die konteks hierbo, beteken hierdie twee opdragte in werklikheid dieselfde. Om te sien waarom, moet ons verstaan ​​dat chmod 'n eienaardigheid het. Dit aanvaar instruksies om lêer-regte vir verskillende gebruikers te verander óf deur kombinasies van hierdie letters (teks of simboliese formaat) te gebruik, of deur gebruik te maak van 'n stelsel van getalle (numeriese of oktale formaat). So stem die twee stelsels ooreen:
Toestemming om te lees, r, word die numeriese waarde van 4 gegee
Toestemming om te skryf, w, kry die waarde 2
Toestemming om uit te voer, x, kry die waarde 1
Dus, in die oorspronklike situasie in ons voorbeeld hierbo, het Hadley, wat die eienaar van die lêer is, toestemming om alles (rwx) te doen, of in numeriese terme, toestemming 4 + 2 + 1 = 7. Net so het ander lede van Hadley's groep, "tegnies," het toestemming om die lêer te lees en uit te voer, maar nie daarop te skryf nie. Hulle het dus r-x toestemming, of numeries het hulle 4 + 1 wat 5. Elkeen anders het net –x of 1. Ons string karakters -rwxr-x – x word dan 751 in syfers.
Dus, ons opdrag chmod 771 my_app hierbo is bloot om die 751-vlak van toestemming te verander na 771. Met ander woorde, ons voeg net die skryftoestemming (w of 2) by lede van Hadley se groep, 'tech'. Nou word die betekenis van die ander weergawe van dieselfde opdrag ook duidelik: g + w beteken eenvoudig "voeg skryftoestemming by lede van Hadley se groep," net soos voorheen.
As volledige toestemming om te lees, skryf en uit te voer aan almal gegee sou word, dan lyk die twee vorme van die chmod-opdrag:
En albei het dieselfde effek.
Bykomende opsies van die chmod Command
Die chmod-opdrag bevat ook opsies wat nuttig kan wees om oor te weet. Dit sluit in:
-R vir die rekursiewe toepassing van dieselfde regte op 'n gids, en al die subgidse en lêers in die gids en sy verskillende subgidse
-c om verslag te doen wanneer 'n verandering aangebring word, -f om foutboodskappe te onderdruk, en –v (verbose) om 'n diagnostiese weergawe vir elke lêer of gids wat verwerk word, uit te voer
Dit sou verseker dat almal (a) volle lees-, skryf- en uitvoertoestemmings het vir mydir en al die subgidse en lêers daarin.