If-Koubou

Kā darbojas Linux failu tiesības?

Kā darbojas Linux failu tiesības? (Kā)

Ja jūs kādu laiku izmantojat Linux (un pat OS X), iespējams, radās kļūda "atļaujas". Bet kas tieši viņi ir, un kāpēc tie ir nepieciešami vai noderīgi? Apskatīsim iekšpusi.

Lietotāju atļaujas

Atpakaļ dienā, datori bija masveida mašīnas, kas bija neticami dārgi. Lai no tiem vislabāk izmantotu, tika piesaistīti vairāki datoru termināļi, kas ļāva daudziem lietotājiem vienlaikus iet par viņu biznesu. Iekārtai tika veikta datu apstrāde un glabāšana, savukārt termināli bija nedaudz vairāk par datu skatīšanas un ievadīšanas līdzekli. Ja jūs domājat par to, tas ir diezgan daudz, kā mēs piekļūt datiem par "mākoni"; apskatīt Amazon Cloud MP3 sistēmu, Gmail un Dropbox, un jūs ievērosiet, ka, lai gan izmaiņas var veikt vietēji, viss tiek saglabāts attālināti.

(Attēls: Zenith Z-19 "dumb" terminālis; kredīts: ajmexico)

Lai tas darbotos, atsevišķiem lietotājiem ir jābūt kontiem. Viņiem ir jābūt sadaļai, kas viņiem piešķirta, un viņiem ir jāatļauj palaist komandas un programmas. Ikvienam ir noteiktas "lietotāja atļaujas", kas nosaka, ko viņi var un ko nevar darīt, kur viņi darbojas un kuriem nav piekļuves, un kuru failus viņi var un nevar modificēt. Katrs lietotājs tiek ievietots arī dažādās grupās, kas piešķir vai ierobežo tālāku piekļuvi.

Faila piekļuve

Šajā neprātīgajā daudzlietotāju pasaulē mēs jau esam noteikuši robežas par to, ko lietotāji var darīt. Bet ko par to viņi piekļūst? Katram failam ir atļauju kopums un īpašnieks. Īpašnieka apzīmējums, kas parasti tiek saistīts, kad fails tiek izveidots, deklarē, kurš lietotājs tam pieder, un tikai tas lietotājs var mainīt savas piekļuves atļaujas.

Linux pasaulē atļaujas tiek iedalītas trīs kategorijās: lasīšana, rakstīšana un izpilde. Piekļuve lasīšanai ļauj redzēt faila saturu, "rakstīšanas" piekļuve ļauj mainīt faila saturu, un "izpildīt" ļauj izpildīt instrukciju kopu, piemēram, skriptu vai programmu. Katra no šīm kategorijām tiek piemērota dažādām klasēm: lietotājam, grupai un pasaulei. "Lietotājs" ir īpašnieks, "grupa" ir jebkurš lietotājs, kas atrodas tajā pašā grupā kā īpašnieks, un "pasaule" ir ikviens un ikviens.

Ar šīm atļaujām var tikt ierobežotas mapes. Piemēram, varat atļaut citiem jūsu grupas dalībniekiem skatīt savas mājas mapes direktorijus un failus, bet ne ikvienam ārpus jūsu grupas. Jūs, iespējams, vēlaties ierobežot "rakstīt" piekļuvi tikai sev, ja vien jūs neesat strādājis par kādu kopīgu projektu. Jūs varat arī izveidot kopīgu direktoriju, kas ļauj ikvienam skatīt un mainīt failus šajā mapē.

Atļaujas maiņa Ubuntu

GUI

Lai mainītu jūsu autorizētā faila atļaujas Ubuntu, ar peles labo pogu noklikšķiniet uz faila un pārejiet uz sadaļu "Rekvizīti".

Varat mainīt, vai īpašnieks, grupa vai citi lietotāji var lasīt un rakstīt, lasīt tikai vai nedarīt neko. Varat arī atzīmēt lodziņu, lai atļautu faila izpildi, un tas to ļaus vienlaikus aktivizēt īpašniekam, grupai un citiem.

Komandrinda

To var izdarīt arī komandrindā. Iet uz direktoriju, kurā ir faili, un ierakstiet šādu komandu, lai skatītu visus sarakstā esošos failus:

ls -al

Blakus katram failam un direktorijai tiks parādīta īpaša sadaļa, kurā aprakstītas atļaujas. Tas izskatās šādi:

-rwxrw-r-

The r nozīmē "lasīt", w nozīmē "rakstīt" un x nozīmē "izpildīt". Direktoriji sāksies ar "d", nevis "-". Jūs arī pamanīsit, ka ir 10 atstarpes, kurām ir vērtība. Jūs varat ignorēt pirmo, un tad ir 3 komplekti 3. Pirmais komplekts ir īpašniekam, otrais komplekts ir grupai, un pēdējais iestatījums ir paredzēts pasaulei.

Lai mainītu faila vai direktorijas atļaujas, apskatīsim chmod komandas pamatformu.

chmod [klase] [operators] [atļauja] fails

chmod [ugoa] [+ vai -] [rwx] fails

Vispirms tas var likties sarežģīti, bet ticiet man, tas ir diezgan viegli. Vispirms apskatīsim klases:

  • u: tas ir īpašniekam.
  • g: Tas attiecas uz grupu.
  • o: Tas ir visiem citiem.
  • a: Tas mainīs atļaujas visām iepriekš minētajām.

Tālāk operatori:

  • +: Plus zīme pievienos tālāk norādītās atļaujas.
  • -: mīnus zīme noņems sekojošās atļaujas.

Joprojām ar mani? Un pēdējā sadaļa ir tāda pati kā tad, kad pārbaudījām faila atļaujas:

  • r: ļauj lasīt piekļuvi.
  • w: ļauj rakstīt piekļuvi.
  • x: Ļauj izpildīt.

Tagad paliksim to kopā. Pieņemsim, ka mums ir fails ar nosaukumu "todo.txt", kuram ir šādas atļaujas:

-rw-rw-r-

Tas ir, īpašnieks un grupa var lasīt un rakstīt, un pasaule var lasīt tikai. Mēs vēlamies mainīt atļaujas šiem:

-rwxr-

Tas nozīmē, ka īpašniekam ir pilnas atļaujas, un grupa to var lasīt. Mēs varam to paveikt 3 soļos. Pirmkārt, mēs pievienosim izpildes atļauju lietotājam.

chmod u + x todo.txt

Pēc tam mēs noņemsim rakstīšanas atļauju grupai.

chmod g-w todo.txt

Visbeidzot, mēs noņemsim lasīšanas atļaujas visiem pārējiem lietotājiem.

chmod o-r todo.txt

Mēs varam arī apvienot tos vienā komandā, tāpat kā:

chmod u + x, g-w, o-r todo.txt

Jūs varat redzēt, ka katra sadaļa ir atdalīta ar komatiem un nav atstarpju.

Tālāk ir norādītas dažas noderīgas atļaujas.

  • -rwxr-xr-x: īpašniekam ir pilnas atļaujas, grupas un citi lietotāji var lasīt faila saturu un izpildīt.
  • -rwxr-r-: īpašniekam ir pilnas atļaujas, grupas un citi lietotāji var lasīt tikai failu (noderīgi, ja jūs nevēlaties, lai citi skatītos savus failus.
  • -rwx-: īpašniekam ir pilnas atļaujas, visās pārējās nav (lietderīgi personīgiem skriptiem).
  • -rw-rw--: Īpašnieks un grupa var lasīt un rakstīt (noderīgi sadarbībai ar grupas dalībniekiem).
  • -rw-r-r-: Īpašnieks var lasīt un rakstīt, grupu un citus lietotājus var lasīt tikai failu (noderīgi personisko failu glabāšanai koplietotā tīklā).
  • -rw--: īpašnieks var lasīt un rakstīt, visi pārējie nav (lietderīgi glabāt personiskos failus).

Ir dažas citas lietas, ko varat darīt ar chmod, piemēram, setuid un setgid, taču tie ir nedaudz padziļināti, un lielākajai daļai lietotāju to tomēr nevajadzēs lietot.

Sakņu vai super-lietotājs un sistēmas faili

Mūsdienās mēs ne vienmēr vadām sistēmas, kurās ir vairāki lietotāji. Kāpēc mums joprojām jāuztraucas par atļaujām?

Nu, Unix un tā atvasinājumi - Linux, OS X, cita starpā - arī nošķir lietas, ko vada lietotājs, lietas, kuras vada administrators vai ar administratora privilēģijām, un lietas, kuras vada pati sistēma. Tādējādi sistēmas sastāvdaļām ir nepieciešamas administratora privilēģijas, kuras jāmaina vai kurām ir piekļuve. Tādā veidā jūs nejauši nejauši satricinājāt.

Ubuntu, lai veiktu izmaiņas sistēmas failos, jūs izmantojat 'sudo' vai 'ğgksudo, lai iegūtu administratora privilēģiju ekvivalentu. Citos distros, jūs pārslēdzat uz root vai labāko lietotāju, kas efektīvi veic to pašu, līdz jūs izietat.

Ņemiet vērā, ka abos gadījumos, mainot failu atļaujas, programmas var nedarboties, nejauši mainot failu īpašumtiesības uz saknes lietotāju (nevis īpašnieka vietā) un padarot sistēmu mazāk drošu (piešķirot vairāk atļaujas). Tādēļ ieteicams nemainīt atļaujas failiem - it īpaši sistēmas failiem - ja vien tas nav nepieciešams vai jūs zināt, ko jūs darāt.

Ir pieejamas failu atļaujas, lai lietotājiem nodrošinātu pamata drošības sistēmu. Mācīšanās, kā viņi strādā, var palīdzēt jums iestatīt pamata koplietošanu daudzlietotāju vidē, aizsargāt publiskos failus un sniegt jums ieskatu, kad kaut kas noiets ar sistēmas failu īpašumtiesībām.

Domā, ka jūs varat paskaidrot lietas vieglāk? Vai ir korekcija? Vai vēlaties atcerēties par vecajām dienām? Ņemiet pārtraukumu un ielieciet savas domas komentāros.