Pēdējos mēnešos es esmu apguvis kursu par Linux, un viens no Linux aspektiem, kas mani vienmēr sajauca, bija kā atļaujas. Piemēram, vienreiz augšupielādējot failu manam tīmekļa serverim un iegūstot kļūdu, mana tīmekļa uzņēmēja man teica, ka jāmaina faila atļaujas uz 755.
Man nebija ne jausmas, ko tas nozīmēja, lai gan problēmu mainīšana noteica problēmu. Es tagad saprotu, ka Linux atļaujas nav tik sarežģītas, jums vienkārši ir jāsaprot sistēma. Šajā rakstā es runāšu par Linux atļaujām augstā līmenī un parādīt, kā izmantot komandu chmod, lai mainītu atļaujas failiem un mapēm.
Linux atļaujas un līmeņi
Linux sistēmā ir trīs atļaujas, kas jums parasti jāuztraucas par: lasīšanu, rakstīšanu un izpildi. Visi trīs no tiem ir diezgan pašsaprotami. Tagad, kad šīs atļaujas tiek piemērotas failam, tās tiek izmantotas līmeņos.
Linux ir trīs līmeņu atļaujas: īpašnieks, grupa un citi. Īpašnieks ir lietotājs, kam pieder fails / mape, grupa ietver citus lietotājus faila grupā un citus vienkārši pārstāv visus pārējos lietotājus, kuri nav īpašnieki vai grupas.
Lasīšana, rakstīšana un izpilde tiek attēlota kā simboliskas rakstzīmes vai kā astoņi numuri. Piemēram, ja jūs ls -l atrodaties direktorijā ar dažiem failiem, jūs redzēsiet simbolu simbolisko attēlojumu.
Atļaujas tiek rakstītas šādi: pirmais bits ir domuzīme vai burts d. Dash nozīmē, ka tas ir fails un d apzīmē direktoriju. Ņemiet vērā, ka pirmais bits var būt arī l, ja faila nosaukums ir saite. Tālāk ir trīs trīs bitu grupas. Pirmais bits katrā grupā ir paredzēts lasīšanai, otrais bits ir rakstāms un trešais bits ir izpildāms. Pirmie trīs biti ir paredzēti īpašniekam, otrās trīs biti grupai un trešie trīs biti citiem. Šeit ir vairāk vizuāls skaidrojums.
Ja vēstules vietā redzat domuzīmi, tas nozīmē, ka īpašniekam, grupai vai visiem citiem lietotājiem nav šādas atļaujas. Iepriekš minētajā piemērā īpašnieks, grupa un visi pārējie ir lasījuši rakstīšanas un izpildīšanas atļaujas.
Ja aplūkojat komandas ls -l izvadi, jūs pamanīsiet, ka mana prakses teksta failam ir šādas atļaujas:
-rw-rw-rw-
Tas nozīmē, ka visiem ir tikai lasīšanas / rakstīšanas atļaujas failam. Šeit ir vēl viens piemērs:
drwxr - r--
Aplūkojot pirmo bitu, mēs redzam, ka atļaujas attiecas uz direktoriju. Īpašniekam ir lasīšanas / rakstīšanas / izpildes tiesības, bet grupai un citiem lietotājiem ir tikai lasīšanas atļauja.
Octal Number pārstāvība
Tātad, kā atļaujas tiek parādītas Linux, izmantojot simbolus. Otrs veids, kā pārstāvēt tās pašas atļaujas, ir, izmantojot astoņus ciparus. Kad mēs vēlāk izmantosim chmod komandu, jūs redzēsiet, ka varat mainīt atļaujas, izmantojot vai nu simbolu vai astoņu numuru.
Tātad, kā Linux pārstāv lasīt, rakstīt un izpildīt, izmantojot astoņus ciparus? Būtībā tas piešķir numuru katrai atļaujai, kā parādīts zemāk.
Lasīšanas atļauju pārstāv 4, raksta ar 2 un izpilda ar 1. Viss, kas jums jādara, ir pievienot tos, lai saņemtu astoņu atļauju. Piemēram, pieņemsim iepriekš minēto piemēru, kur ikvienam ir visas atļaujas:
-rwxrwxrwx
Īpašniekam ir rwx, tāpēc mēs pievienosim 4 + 2 + 1, lai iegūtu 7. vērtību. Mēs to pašu darām grupai un vienai un tai pašai lietai. Pēdējā oktala vērtība ir 777. Aplūkosim piemēru, kur mēs tikai deva lasīšanas / rakstīšanas atļaujas:
-rw-rw-rw-
Pirmais oktala numurs būs 4 + 2, jo pievienosim lasīt un rakstīt. Otrais būs tāds pats kā trešais oktala numurs. Šeit mums ir galīgā oktala vērtība 666.
Tāpēc tagad mēģināsim to citādi. Saka, ka mēs vēlamies uzzināt, kādas atļaujas ir 755 ? Nu, tas ir diezgan viegli saprast, ja jūs sadalīt to pa atsevišķiem numuriem. Pirmais skaitlis ir 7, ko mēs varam iegūt, tikai pievienojot 4 + 2 + 1, kas nozīmē, ka īpašniekam ir lasīšanas / rakstīšanas / izpildīšanas atļauja. Piecus var iegūt tikai, pievienojot 4 + 1, kas nozīmē, ka grupa un citi lietotāji ir lasījuši un izpildījuši atļaujas.
Cerams, ka tas ir labs skaidrojums, kā pārstāvēt atļaujas Linux, izmantojot astoņus ciparus. Kopumā tas ir diezgan vienkārši.
Izmantojot chmod, lai mainītu atļaujas
Tagad, kad mēs saprotam, kā lasīt atļaujas, runāsim par to, kā mēs varam tos mainīt. Vienkāršākais līdzeklis šim nolūkam ir chmod komanda. Lūk, kā tas darbojas. Labākais veids, kā izskaidrot komandu, ir iet caur piemēru.
Sāksim ar atļaujām, par kurām mēs runājām iepriekš, proti:
-rw-rw-rw-
Ja mēs vēlējāmies pievienot izpildītāja atļauju īpašniekam, grupai un citiem, mēs varētu to darīt divos veidos. Mēs varētu izmantot simbolu metodi vai astoņu metodi. Par simbolu metodi mēs rīkotos šādi:
Precīza komanda ir
chmod a + x faila nosaukums
Sintakse ir šāda: burts vai burti, kas pārstāv īpašnieku ( u ), grupu ( g ), citu ( o ) vai visu ( a ), kam seko +, lai pievienotu atļaujas, vai a - atņemšanas atļaujas un pēc tam vēstuli atļauja ( r lasīšanai, w rakstīšanai un x izpildei).
Iepriekšējā piemērā es pievienoju izpildīšanas atļauju visiem lietotājiem. Rezultāts, kā jūs varat redzēt iepriekš attēlotajā attēlā, ir x īpašniekam, grupai un citiem. Tagad pieņemsim, ka es gribēju noņemt rakstīt un izpildīt atļaujas tikai grupai un citiem lietotājiem.
Kā jūs varat redzēt šeit, es izmantoju šādu komandu, lai to paveiktu:
chmod go-wx faila nosaukums
Tā kā es vēlos mainīt grupas un citas atļaujas, es izmantoju burtu g un burtu o . Es vēlos noņemt atļaujas, tāpēc es izmantoju - zīmi. Visbeidzot, es vēlos noņemt rakstīšanas un izpildīšanas atļaujas, tāpēc es izmantoju w un x . Šeit ir ērts neliels galds simbolu lietošanai:
Tātad tas viss ir, lai izmantotu simbolu metodi. Tagad runāsim par astoņu metodi, kas man šķiet mazliet vieglāka. Octal ir jauki, jo jūs varat pievienot vai noņemt visas atļaujas vienā reizē.
Ja mēs sākam ar šādām faila atļaujām, skatīsimies, kā mēs varam tos mainīt, izmantojot astoņu metodi:
-rw-rw-rw-
Virs, jūs varat redzēt, ka izmantoju šādu komandu:
chmod 744 faila nosaukums
Tas būtībā saka, ka īpašnieks saņem lasīšanas / rakstīšanas / izpildīšanas atļauju, un grupa un citi saņem tikai lasīšanas atļauju. Kā redzat, ir vienkārši pievienot vai noņemt atļaujas vienā vienkāršā komandā. Let's turpināt un teikt, es gribu mainīt atļaujas vēlreiz.
Tagad es izmantoju šādu komandu, atkal ļoti vienkāršu:
chmod 640 faila nosaukums
Šeit mēs esam devuši īpašnieka lasīšanas / rakstīšanas atļaujas, tikai grupas lasīšanas atļauju un otru grupu bez atļaujas. Jūs izmantojat nulli, lai apzīmētu atļaujas. Diezgan vienkārši, vai ne?
Visbeidzot, tas ir ļoti vienkāršs Linux atļauju pārskats, un tas var kļūt daudz sarežģītāks nekā tas, bet iesācējiem tas ir laba vieta, kur sākt. Nākotnē es publicēšu vairāk rakstu par progresīvākām atļaujām. Ja jums ir kādi jautājumi, lūdzu, sniedziet komentārus. Izbaudi!