Како користити команду цхмод на Линуку

Контролишите ко може да приступи датотекама, претражује директоријуме и покреће скрипте користећи Линук команду цхмод. Ова команда мења дозволе за Линук фајлове, које на први поглед изгледају компликовано, али су заправо прилично једноставне када знате како функционишу.

цхмод Модификује дозволе за фајлове

У Линук-у, ко може шта да ради са датотеком или директоријумом контролише се преко скупова дозвола. Постоје три скупа дозвола. Један сет за власника фајла, други сет за чланове групе фајла и последњи сет за све остале.

Дозволе контролишу радње које се могу извршити на датотеци или директоријуму. Они или дозвољавају, или спречавају, да се датотека чита, мења или, ако је скрипта или програм, извршава. За директоријум, дозволе одређују ко може да уђе у директоријум и ко може да креира или мења датотеке унутар директоријума.

Користите команду цхмод за поставите сваку од ових дозвола. До погледајте које дозволе су постављене на датотеци или директоријуму, можемо користити лс.

Преглед и разумевање дозвола за датотеке

Можемо користити опцију -л (дуги формат) да лс наведе дозволе за фајлове и директоријуме.

ls -l

У сваком реду, први знак идентификује тип уноса који се наводи. Ако је цртица (-), то је датотека. Ако је слово д, онда је то именик.

Следећих девет знакова представљају подешавања за три скупа дозвола.

Прва три знака показују дозволе за корисника који је власник датотеке (корисничке дозволе).
Средња три знака показују дозволе за чланове групе датотеке (групне дозволе).
Последња три знака показују дозволе за све који нису у прве две категорије (друге дозволе).

У сваком скупу дозвола постоје три знака. Знакови су индикатори за присуство или одсуство једне од дозвола. Они су или цртица (-) или слово. Ако је знак цртица, то значи да дозвола није дата. Ако је знак р, в или к, та дозвола је одобрена.

Слова представљају:

р: Дозволе за читање. Датотека се може отворити и погледати њен садржај.
в: Дозволе за писање. Датотека се може уређивати, мењати и брисати.
к: Извршите дозволе. Ако је датотека скрипта или програм, може се покренути (извршити).

  Шта је Стилус ЦСС и како га користите?

На пример:

— значи да уопште нису дате никакве дозволе.
рвк значи да су пуне дозволе одобрене. Сви индикатори читања, писања и извршавања су присутни.

На нашем снимку екрана, први ред почиње са д. Ова линија се односи на директоријум који се зове „архива“. Власник директоријума је „даве“, а име групе којој директоријум припада се такође назива „даве“.

Следећа три знака су корисничке дозволе за овај директоријум. Ово показује да власник има пуне дозволе. Сви знакови р, в и к су присутни. То значи да корисник даве има дозволе за читање, писање и извршавање за тај директоријум.

Други скуп од три карактера су дозволе групе, ово су рк. Они показују да чланови Даве групе имају дозволе за читање и извршавање за овај директоријум. То значи да могу да наведу датотеке и њихов садржај у директоријуму, и да могу цд (извршити) у том директоријуму. Они немају дозволе за писање, тако да не могу да креирају, уређују или бришу датотеке.

Коначни скуп од три знака је такође рк. Ове дозволе се примењују на људе који нису обухваћени прва два скупа дозвола. Ови људи (који се називају „други“) имају дозволе за читање и извршавање овог директоријума.

Дакле, да резимирамо, чланови групе и други имају дозволе за читање и извршавање. Власник, корисник по имену Даве, такође има дозволе за писање.

За све остале датотеке (осим датотеке скрипте мх.сх) даве и чланови даве групе имају својства читања и писања у датотеке, а остали имају само дозволе за читање.

За посебан случај датотеке скрипте мх.сх, власник Даве и чланови групе имају дозволе за читање, писање и извршавање, а остали имају дозволе само за читање и извршавање.

Разумевање синтаксе дозволе

Да бисмо користили цхмод за постављање дозвола, морамо му рећи:

Ко: Коме постављамо дозволе.
Шта: Какву промену правимо? Да ли додајемо или уклањамо дозволу?
Које: које од дозвола постављамо?

Користимо индикаторе да представимо ове вредности и формирамо кратке „изјаве о дозволама“ као што је у+к, где „у“ значи „корисник“ (ко), „+“ значи додавање (шта), а „к“ значи дозволу за извршавање (која).

Вредности „ко“ које можемо да користимо су:

у: Корисник, што значи власник датотеке.
г: Група, што значи чланови групе којој датотека припада.
о: Други, што значи људи којима не управљају дозволе у ​​и г.
а: Све, што значи све горе наведено.

  Шта је ХДМИ ВРР на ПлаиСтатион 5 и Ксбок Сериес Кс?

Ако се ништа од овога не користи, цхмод се понаша као да је коришћено „а“.

Вредности „шта“ које можемо да користимо су:

–: Знак минус. Уклања дозволу.
+: знак плус. Даје дозволу. Дозвола се додаје постојећим дозволама. Ако желите да имате ову дозволу и само ову дозволу, користите опцију =, описану у наставку.
=: знак једнакости. Подесите дозволу и уклоните друге.

Вредности „које“ које можемо да користимо су:

р: Дозвола за читање.
в: Дозвола за писање.
к: Дозвола за извршавање.

Подешавање и измена дозвола

Рецимо да имамо фајл где сви имају пуне дозволе за њега.

ls -l new_ file.txt

Желимо да корисник даве има дозволе за читање и писање, а да група и други корисници имају само дозволе за читање. То можемо урадити помоћу следеће команде:

chmod u=rw,og=r new_file.txt

Коришћење оператора „=“ значи да бришемо све постојеће дозволе, а затим постављамо оне наведене.

хајде да проверимо нову дозволу за ову датотеку:

ls -l new_file.txt

Постојеће дозволе су уклоњене, а нове су постављене, као што смо очекивали.

Шта кажете на додавање дозволе без уклањања постојећих подешавања дозвола? И ми то можемо лако.

Рецимо да имамо датотеку скрипте коју смо завршили са уређивањем. Морамо да га учинимо извршним за све кориснике. Његове тренутне дозволе изгледају овако:

ls -l new_script.sh

Можемо додати дозволу за извршавање за свакога са следећом командом:

chmod a+x new_script.sh

Ако погледамо дозволе, видећемо да је дозвола за извршавање сада дата свима, а постојеће дозволе су још увек на месту.

ls -l new_script.sh

Могли смо да постигнемо исту ствар без „а“ у изјави „а+к“. Следећа команда би исто тако добро функционисала.

chmod +x new_script.sh

Подешавање дозвола за више датотека

Можемо да применимо дозволе на више датотека одједном.

Ово су датотеке у тренутном директоријуму:

ls -l

Рецимо да желимо да уклонимо дозволе за писање за „друге“ кориснике из датотека које имају екстензију „.паге“. То можемо урадити следећом командом:

chmod o-r *.page

Хајде да проверимо какав је то ефекат имао:

ls -l

Као што видимо, дозвола за читање је уклоњена из датотека „.паге“ за категорију „остало“ корисника. Ниједна друга датотека није погођена.

  Како знати да ли је неко погледао ваш ТикТок профил и контролисати га

Да смо желели да укључимо датотеке у поддиректоријуме, могли смо да користимо опцију -Р (рекурзивна).

chmod -R o-r *.page

Нумерицал Схортханд

Други начин да користите цхмод је да дате дозволе које желите да дате власнику, групи и другима као троцифрени број. Крајња лева цифра представља дозволе за власника. Средња цифра представља дозволе за чланове групе. Крајња десна цифра представља дозволе за остале.

Овде су наведене цифре које можете да користите и шта оне представљају:

0: (000) Без дозволе.
1: (001) Дозвола за извршење.
2: (010) Дозвола за писање.
3: (011) Дозволе за писање и извршавање.
4: (100) Дозвола за читање.
5: (101) Дозволе за читање и извршавање.
6: (110) Дозволе за читање и писање.
7: (111) Дозволе за читање, писање и извршавање.

Свака од три дозволе је представљена једним од битова у бинарном еквиваленту децималног броја. Дакле, 5, што је 101 у бинарном облику, значи читање и извршавање. 2, што је 010 у бинарном облику, значило би дозволу за писање.

Користећи овај метод, постављате дозволе које желите да имате; не додајете ове дозволе постојећим дозволама. Дакле, ако су дозволе за читање и писање већ биле на месту, морали бисте да користите 7 (111) да додате дозволе за извршавање. Коришћење 1 (001) би уклонило дозволе за читање и писање и додало дозволу за извршавање.

Хајде да вратимо дозволу за читање у фајлове „.паге“ за остале категорије корисника. Морамо поставити и корисничке и групне дозволе, тако да их морамо подесити на оно што већ јесу. Ови корисници већ имају дозволе за читање и писање, што је 6 (110). Желимо да „остали“ имају читање и дозволе, тако да их треба подесити на 4 (100).

Следећа команда ће то постићи:

chmod 664 *.page

Ово поставља дозволе које су нам потребне за корисника, чланове групе и друге на оно што нам је потребно. Корисници и чланови групе имају враћене дозволе на оно што су већ биле, а осталима је враћена дозвола за читање.

ls -l

Напредне опције

ако ти прочитајте ман страницу за цхмод видећете да постоје неке напредне опције које се односе на СЕТУИД и СЕТГИД битове, као и на ограничено брисање или „лепљиви“ бит.

За 99% случајева за које ће вам требати цхмод, опције описане овде ће вас покрити.