Computer help - file server


[ Blog ] - [ File Server ] - [ Удаленная компьютерная помощь ]

Апошнія некалькі месяцаў я праходзіў курс Linux, і адзін з аспектаў Linux, які мяне заўсёды бянтэжыў, - гэта тое, як працуюць дазволы. Напрыклад, калі адзін раз загружаў файл на свой вэб-сервер і атрымліваў памылку, мой вэб-хост сказаў, каб змяніў дазвол на файл на 755.

Я не ведаў, што гэта азначае, хаця і змяніў дазволы выправілі праблему. Цяпер я зразумеў, што дазволы Linux не ўсё так складана, вы проста павінны разумець сістэму. У гэтым артыкуле я распавяду пра дазволы Linux на высокім узроўні і пакажу, як выкарыстоўваць каманду chmod для змены дазволаў для файлаў і тэчак.Дазволы і ўзроўні Linux

У Linux у асноўным ёсць тры дазволы, пра якія вам звычайна трэба турбавацца: чытанне, запіс і выкананне. Усе тры даволі зразумелыя. Цяпер, калі гэтыя дазволы прымяняюцца да файла, яны прымяняюцца па ўзроўнях.

У Linux існуе тры ўзроўні дазволаў: уладальнік, група і іншыя. Уладальнік - гэта карыстальнік, які валодае файлам/тэчкай, група ўключае іншых карыстальнікаў у групу файлаў, а іншыя проста прадстаўляюць усіх іншых карыстальнікаў, якія не з'яўляюцца ўладальнікамі альбо ў групе.

Чытанне, запіс і выкананне прадстаўлены альбо сімвалічнымі знакамі, альбо васьмярковымі лікамі. Напрыклад, калі вы робіце ls -l у каталогу з некаторымі файламі, вы ўбачыце сімвалічнае ўяўленне пра дазволы.



Дазволы пішуцца наступным чынам: першы біт - альбо працяжнік, альбо літара d. Працяжнік азначае, што гэта файл, а d азначае каталог. Звярніце ўвагу, што першы біт таксама можа быць л, калі імя файла з'яўляецца спасылкай. Далей ёсць тры групы па тры біты.Першы біт у кожнай групе прызначаны для чытання, другі біт прызначаны для запісу, а трэці біт - для выканання. Першыя тры біты прызначаны для ўладальніка, другія тры біты прызначаны для групы, а трэція біты - для іншых. Вось больш нагляднае тлумачэнне.



Калі вы бачыце працяжнік замест літары, гэта азначае, што ўладальнік, група альбо ўсе іншыя карыстальнікі не маюць гэты дазвол. У прыведзеным вышэй прыкладзе ўладальнік, група і ўсе астатнія маюць дазволы на чытанне і запуск.

Калі вы паглядзіце выхад з каманды ls -l, вы заўважыце, што тэкставы файл маёй практыкі мае наступныя дазволы: -rw-rw-rw-

Гэта азначае што ўсе маюць толькі дазволы на чытанне/запіс для файла. Вось яшчэ адзін прыклад: drwxr - r--

Гледзячы на ​​першы біт, мы бачым, што дазволы прызначаны для каталога. Уладальнік мае дазвол на чытанне/запіс/выкананне, але група і іншыя карыстальнікі маюць толькі дазвол на чытанне. Прадстаўленне васьмярковых лікаў

Такім чынам, так адлюстроўваюцца дазволы ў Linux з выкарыстаннем сімвалаў.Другі спосаб адлюстравання тых самых дазволаў - выкарыстанне васьмярковых лікаў. Калі мы потым выкарыстаем каманду chmod, вы ўбачыце, што вы можаце змяніць дазволы, выкарыстоўваючы альбо сімвалы, альбо васьмярковыя лікі.

Такім чынам, як Linux уяўляе счытванне, запіс і выкананне з выкарыстаннем васьмярковых лікаў? У асноўным, ён проста прысвойвае нумар кожнаму дазволу, як паказана ніжэй.



Дазвол на чытанне прадстаўлены 4, запісаны 2 і выкананы 1. Усё, што вам трэба зрабіць, гэта скласці іх каб атрымаць васьмікратнае дазвол.Напрыклад, возьмем прыклад вышэй, дзе ўсе маюць усе дазволы: -rwxrwxrwx

Уладальнік мае rwx, таму мы дадамо 4 + 2 + 1, каб атрымаць значэнне 7. Мы робім тое ж самае рэч для групы і тое самае для іншых. Канчатковае васьмярковае значэнне - 777. Давайце паглядзім на прыкладзе, дзе мы толькі далі дазвол на чытанне/запіс: -rw-rw-rw-

Першае васьмярковае лік будзе 4 + 2, бо мы дадаюць чытаць і пісаць. Другі будзе такім жа, як і трэці васьмярковы лік. Тут мы маем канчатковае васьмярковае значэнне 666.

Такім чынам, паспрабуем паспрабаваць інакш. Скажам, мы хочам ведаць, што ўяўляе сабой дазвол 755? Ну, гэта даволі лёгка зразумець, калі разбіць яго па асобных лічбах. Першая лічба - 7, якую мы можам атрымаць, толькі дадаўшы 4 + 2 + 1, гэта значыць, што ўладальнік мае дазвол на чытанне/запіс/выкананне. Пяць можна атрымаць, толькі дадаўшы 4 + 1, гэта значыць група і іншыя карыстальнікі маюць дазволы на чытанне і выкананне.



Будзем спадзявацца, што гэта добрае тлумачэнне таго, як прадстаўляць дазволы ў Linux з выкарыстаннем васьмярковых лікаў.У цэлым гэта даволі проста. Выкарыстанне chmod для змены дазволаў

Цяпер, калі мы разумеем, як чытаць дазволы, пагаворым пра тое, як мы можам іх змяніць. Самая простая ўтыліта для выкарыстання для гэтага - каманда chmod. Вось як гэта працуе. Лепшы спосаб растлумачыць каманду - праглядзець прыклад.

Пачнем з дазволаў, пра якія мы ўжо казалі вышэй, а менавіта: -rw-rw-rw-

Калі мы хацелі дадаць дазвол на выкананне для ўладальніка, групы і іншага, мы маглі б зрабіць гэта двума спосабамі.Мы маглі б выкарыстоўваць метад сімвалаў альбо васьмікрасны метад. Для метада сімвалаў мы зрабілі б наступнае, як паказана ніжэй:



Дакладная каманда - chmod a + x імя файла

Сінтаксіс выглядае наступным чынам: літара ці літары, якія прадстаўляюць уладальніка (u), групу (g), іншае (o) ці ўсё (a), пасля чаго + + для дадання дазволаў альбо a - для адабрання дазволу, а затым ліст для дазволу (r для чытання, w для запісу і x для выканання).

У прыведзеным вышэй прыкладзе я дадаў дазвол на выкананне для ўсіх карыстальнікаў.Як вы можаце бачыць на скрыншоце вышэй, вынік - х для ўладальніка, групы і іншага. Зараз скажам, я хацеў выдаліць дазволы на запіс і выкананне толькі для групы і іншых карыстальнікаў.



Як вы можаце бачыць тут, я выкарыстаў наступную каманду для гэтага: chmod go-wx імя файла

Паколькі я хачу змяніць дазволы для групы і іншых, я выкарыстоўваю літару g і літару o. Я хачу выдаліць дазволы, таму выкарыстоўваю знак -. Нарэшце, я хачу выдаліць дазволы на запіс і выкананне, таму я выкарыстоўваю w і x.Вось зручная маленькая табліца для выкарыстання сімвалаў:



Такім чынам, усё, што трэба выкарыстоўваць метад сімвалаў. Зараз пагаворым пра васьміканцовы метад, які мне падаецца крыху прасцейшым. Восьмярковая прыемна, бо вы можаце дадаваць і выдаляць дазволы за адзін прыём.

Калі мы пачнем з наступных дазволаў на файл, давайце паглядзім, як мы можам змяніць іх, выкарыстоўваючы васьмярковы метад: -rw-rw-rw-



Вышэй, вы бачыце, я выкарыстаў наступную каманду: імя файла chmod 744

Гэта ў асноўным кажа, што ўладальнік атрымлівае дазвол на чытанне/запіс/выкананне і групу а іншыя атрымліваюць дазвол толькі на чытанне.Як бачыце, проста дадаваць і выдаляць дазволы адной простай камандай. Давайце працягнем і скажам, што я хачу зноў змяніць дазволы.



Зараз я выкарыстаў наступную каманду, зноў жа вельмі простую: імя файла chmod 640

Тут мы далі ўладальніку дазвол на чытанне/запіс, група толькі на дазвол на чытанне, а іншая група не мае дазволу. Вы выкарыстоўваеце нуль, каб пазначаць адсутнасць дазволаў. Даволі проста, так?

У заключэнне, гэта вельмі просты агляд дазволаў Linux, і ён можа стаць нашмат больш складаным, чым гэты, але для пачаткоўцаў тут добра пачаць.У будучыні я буду размяшчаць больш артыкулаў пра больш дасканалыя дазволы. Калі ў вас ёсць якія-небудзь пытанні, не саромейцеся каментаваць. Атрымлівайце асалоду!

.
SETUP UA COMPUTER BLOG