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

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

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

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

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

Користитецхмод наредба за постављање сваке од ових дозвола. Можемо користити да бисмо видели које су дозволе постављене за датотеку или директоријум лс.

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

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

лс -л

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

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

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

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

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

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

На пример:

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

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

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

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

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

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

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

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

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

Користити цхмод да бисмо поставили дозволе, морамо то да кажемо:

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

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

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

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

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

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

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

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

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

Постављање и измена дозвола

Рецимо да имамо датотеку у којој сви имају пуне дозволе.

лс -л нев_ филе.ткт

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

цхмод у = рв, ог = р нев_филе.ткт

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

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

лс -л нев_филе.ткт

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

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

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

лс -л нев_сцрипт.сх

Дозволу за извршавање можемо додати свима следећом наредбом:

цхмод а + к нев_сцрипт.сх

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

лс -л нев_сцрипт.сх

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

цхмод + к нев_сцрипт.сх

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

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

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

лс -л

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

цхмод о-р * .страница

Проверимо какав је то ефекат имао:

лс -л

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

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

цхмод -Р о-р * .страница

Нумерички стенограф

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

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

  • 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).

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

цхмод 664 * .страница

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

лс -л

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

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

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


$config[zx-auto] not found$config[zx-overlay] not found