Bieži vien, strādājot ar Linux, lietotāji reti domā par to, kam pieder fails. Tomēr, kad runa ir par servera darbību, situācija mainās. Lai palielinātu drošību, serverim tiek piešķirts savs lietotājs. Nereti serveri izmanto vienu un to pašu grupu, piemēram, www-data
. Tālāk apskatīsim, kā šī funkcija darbojas ar failiem un direktorijiem. Īpašu uzmanību pievērsīsim simboliskajām saitēm, jo, izmantojot nedrošus iestatījumus, tās var radīt problēmas.
Failu atļauju standarts Linux pārņemts no Unix. Tātad katram objektam ir lietotājs
, grupa papildus
tam aprakstacitu lietotāju
tiesības(other)
. Atļaujas sastāv no trim elementiem: lasīt, rakstīt, izpildīt. Lai mainītu atļaujas, tiek izmantota komanda umask
, bet, lai mainītu īpašnieku un grupu tieši, tiek izmantotas komandas chown
. Komandu ls
var izmantot, lai apskatītu pašreizējās atļaujas.
Komandas chgrp
vispārīgs skats:
$ chgrp [options] new_group file_name
Komandas chgrp
kopīgo opciju saraksts:
-h
- strādā tieši ar pašām simboliskajām saitēm;--dereference
- darbs ar failiem, nevis pašām simboliskajām saitēm. Izmanto pēc noklusējuma;-R
- rekursīva direktorijas apstrāde ar visu tās saturu;-H
- seko simboliskajai saitei un maina faila/adresāra atribūtus. Izmanto kopā ar parametru -R
;-L
- seko simboliskajai saitei un turpina rekursīvo apstrādi. Izmanto kopā ar parametru -R
;-P
- sastopoties ar simbolisku saiti, apstrādā tikai to. Kopā ar parametru -R
ir noklusējuma vērtība;--reference=faila_nosaukums
- izmantot paraugu grupu;-c
- apstrādājot mainās tikai izvades dati;-v
- izvadīt informāciju par katru apstrādāto objektu.Vienkāršākais komandas chgrp
lietošanas piemērs. Tālāk dotais izmaina visu www-data
objekta failu
, kas atrodas pašreizējā mapē:
$ sudo chgrp www-data file.txt
Šis mainīs grupu uz www-data
mapes mapē
:
$ sudo chgrp www-data folder
Komanda darbojas ļoti paredzamā veidā, mainot to grupu. Mapes objekti paliek nemainīgi. Ja tiek apstrādātas simboliskās saites, to atribūti paliek nemainīgi, bet objekts iegūst jaunu grupu. Šāda rīcība ir līdzīga apstrādei ar parametru --dereference
.
Piemēram, šīs komandas, kas piemērotas simboliskām saitēm, darbosies, kā parādīts ekrānšāviņā:
$ sudo chgrp www-data sym_file.txt
Aplūkosim, kā darbosies parametrs -h
, kas maina simboliskas saites atribūtus:
$ sudo chgrp -h www-data sym_file
Grupa ir iestatīta ne tikai direktorijam, bet arī visiem tajā esošajiem failiem. Ievērojiet, ka ir mainīta uzvedība, tagad, apstrādājot simbolisko saiti, atribūti tiek iestatīti pašai saitei, nevis objektam.
Lai redzētu atšķirību starp parametriem -H
un -L
, aplūkosim vēl dažus piemērus. Atcerieties, ka tie jāizmanto kopā ar -R
:
$ sudo chgrp -RH www-data folder
Izmantojot -H
, ir mainījusies simbolisko saišu apstrādes uzvedība, tagad tās tiek apstrādātas tā, it kā funkcijas tiktu izpildītas atsevišķi. Atsauču atribūti nemainās, mainās pašu objektu atribūti, un rekursīvā apstrāde pārtraucas, kad pārslēdzaties uz direktoriju.
$ sudo chgrp -RL www-data folder
Tā veic vienu funkciju - maina failu un direktoriju grupu.
Apstrādājot simboliskās saites, jābūt ļoti uzmanīgiem, lai nebojātu sistēmu.