Көбінесе, Linux жүйесінде жұмыс істегенде, пайдаланушылар файлдың кімге тиесілі екендігі туралы сирек ойлайды. Бірақ серверді іске қосуға келгенде, жағдай өзгереді. Қауіпсіздікті арттыру үшін сервер өз пайдаланушысын алады. Көбінесе серверлер www-data.
Әрі қарай, бұл функция файлдармен және каталогтармен қалай жұмыс істейтінін қарастырамыз. Біз символдық сілтемелерге ерекше назар аударамыз, өйткені олар қауіпті параметрлерді пайдалану кезінде қиындықтар тудыруы мүмкін.
Файл құқығы стандарты Linux жүйесінде Unix-тен пайда болды. Сонымен, әрбір объектінің 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
пәрменін пайдаланудың өте қарапайым мысалы. Келесі ағымдағы каталогтағы file
файлы үшін www-data
нысанын толығымен өзгертеді:
$ sudo chgrp www-data file.txt
Және бұл топты қалта folder
үшін www-data
деп өзгертеді:
$ 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
Ол бір функцияны орындайды – файлдар мен каталогтар тобын өзгертеді.
Символдық сілтемелермен жұмыс істегенде, жүйелеріңізге зиян келтірмеу үшін өте сақ болуыңыз керек.