Често, када раде у Линуксу, корисници ретко размишљају о томе ко је власник датотеке. Али када је у питању покретање сервера, ситуација се мења. Да би се повећала безбедност, сервер добија свог корисника. Често сервери користе исту групу, као што је www-data.
Затим ћемо размотрити како ова функција ради са датотекама и директоријумима. Посебну пажњу ћемо обратити на симболичке везе, јер оне могу створити проблеме при коришћењу небезбедних параметара.
Стандард права приступа датотекама појавио се у Линуксу из Јуникса. Дакле, сваки објекат има user
, group
и описана су права осталих корисника ( other
). Права се састоје од три тачке: читање, писање, извршавање. За промену права користи се команда umask
, али за директну промену власника и групе користе се команде chown
. Да бисте видели тренутна права, можете користити команду ls
.
Општи приказ команде chgrp
:
$ chgrp [options] new_group file_name
Листа уобичајених параметара команде chgrp
:
-h
– ради директно са самим симболичким линковима;--dereference
– делује на датотеке, а не на саме симболичке везе. Ово је подразумевана вредност;-R
– рекурзивна обрада директоријума са свим његовим садржајем;-H
– прати симболичку везу и мења атрибуте датотеке/директоријума. Користи се са параметром -R
;-L
- прати симболичку везу и наставља рекурзивну обраду. Користи се заједно са параметром -R
;-P
– када се наиђе на симболичку везу, обрађује се само она. Користи се заједно са параметром -R
, ово је подразумевана вредност;--reference=file_name
– користи референтну групу;-c
– приказати само промене током обраде;-v
– исписати информације о сваком обрађеном објекту. Једноставан пример коришћења команде chgrp
. Следећа кода мења цео www-data
објекат за датотеку file
у тренутном директоријуму:
$ sudo chgrp www-data file.txt
А овај мења групу у www-data
за folder
.
$ sudo chgrp www-data folder
Команда ради прилично предвидљиво, мењајући своју групу. Објекти у фасцикли остају непромењени. Ако обрађујете симболичке везе, њихови атрибути ће остати непромењени, а објекат ће добити нову групу. Ово понашање је слично раду са параметром --dereference
.
На пример, ове команде, примењене на симболичке везе, радиће као што је приказано на снимку екрана:
$ sudo chgrp www-data sym_file.txt
Да видимо како ће параметар -h
функционисати, мењајући атрибуте симболичке везе:
$ sudo chgrp -h www-data sym_file
Група је подешена не само за директоријум, већ и за све датотеке унутра. Имајте на уму да се понашање променило, сада се приликом обраде симболичке везе атрибути подешавају за саму везу, а не за објекат.
Да бисмо видели разлику између опција -H
и -L
, погледајмо још неколико примера. Запамтите да се морају користити заједно са -R
:
$ sudo chgrp -RH www-data folder
Коришћењем -H
понашање при обради симболичких веза је промењено, сада се обрађују као да су функције извршавају одвојено. Атрибути веза се не мењају, атрибути самих објеката се мењају, приликом промене директоријума, рекурзивна обрада се зауставља.
$ sudo chgrp -RL www-data folder
Обавља једну функцију - мења групу датотека и директоријума.
Приликом руковања симболичким везама, морате бити изузетно опрезни да не оштетите своје системе.