У гэтым артыкуле мы вывучым важнасць правільнай арганізацыі карыстальнікаў Linux. Мы апішам правы доступу, пачынаючы з таго, як ствараць і наладжваць карыстальнікаў і заканчваючы тым, як прадастаўляць доступ да пэўных файлаў і тэчак. Мы таксама абмяркуем некаторыя важныя інструменты бяспекі, такія як sudo і SELinux, якія дапамагаюць абараніць сістэму ад непажаданай дзейнасці.
Важнасць кіравання карыстальнікамі і правоў доступу ў Linux
У свеце Linux кіраванне карыстальнікамі і правы доступу адыгрываюць ключавую ролю. Уявіце сабе Linux як вялікую кватэру, дзе кожны карыстальнік — гэта арандатар, а кожны файл — гэта пакой. Кіраванне карыстальнікамі падобна на прысваенне кожнаму арандатару ўнікальнага ключа, а правы доступу — гэта тое, што яны могуць рабіць у сваім пакоі.
Пры стварэнні карыстальніка яму прысвойваецца імя і ўнікальны ідэнтыфікатар ( UID ), падобны да асабістага ключа ад кватэры. Карыстальнік таксама мае групу , якая аб'ядноўвае яго з іншымі арандатарамі. Група падобная на клуб, удзельнікі якога маюць агульныя прывілеі.
Правы доступу да файлаў падзяляюцца на тры катэгорыі: уладальнік ( карыстальнік ), група і іншыя . Кожны ключ (карыстальнік) можа мець свае ўнікальныя правы на чытанне, запіс і выкананне для кожнай катэгорыі. Напрыклад, уладальнік файла можа мець правы на чытанне і запіс, група — толькі на чытанне, а іншыя — нічога.
Асаблівай увагі заслугоўваюць палітыкі бяспекі, такія як sudo і SELinux , якія выкарыстоўваюцца ў сістэмах Linux. Sudo — гэта спецыяльная каманда, якая дазваляе звычайным карыстальнікам часова выкарыстоўваць правы суперкарыстальніка (root) для выканання пэўных задач, якія звычайна даступныя толькі адміністратарам. Гэта дапамагае прадухіліць выпадковыя памылкі або злоўжыванне правамі суперкарыстальніка. Пры выкарыстанні sudo карыстальнік звычайна павінен увесці свой пароль для пацверджання сваёй асобы. Пасля гэтага ён можа выконваць каманды з правамі суперкарыстальніка (root) у адпаведнасці з правіламі, устаноўленымі ў файле sudoers.
SELinux — гэта дадатковы ўзровень бяспекі для аперацыйнай сістэмы Linux. Ён адсочвае, якія праграмы і файлы можна выкарыстоўваць у сістэме, і абмяжоўвае доступ да іх, каб прадухіліць узломы і атакі. Гэта робіць сервер больш бяспечным, прадухіляючы спробы ўзлому або шкоднасныя дзеянні.
Стварэнне карыстальнікаў і кіраванне імі
Як стварыць карыстальніка ў Linux
Карыстальнікі Linux звычайна ствараюцца з дапамогай каманды useradd . Напрыклад, каб стварыць карыстальніка з імем «імя карыстальніка», трэба ўвесці:
useradd username
Як усталяваць пароль карыстальніка Linux
Пасля стварэння карыстальніка яго ўліковы запіс не абаронены паролем. Каб усталяваць пароль для новага карыстальніка, выкарыстоўвайце каманду passwd :
passwd username
Дзе імя карыстальніка - гэта імя карыстальніка, для якога ўсталёўваецца пароль.
Як праглядзець спіс карыстальнікаў у Linux
Каб праглядзець спіс карыстальнікаў у Linux з дапамогай адной каманды ў тэрмінале, можна скарыстацца камандай cut :
cut -d: -f1 /etc/passwd
Гэтая каманда зчытвае змесціва файла /etc/passwd , які змяшчае інфармацыю пра ўсіх карыстальнікаў.
Каб атрымаць інфармацыю аб канкрэтным карыстальніку, вы можаце выкарыстоўваць каманду:
id username
Гэта адлюструе UID , GID і Groups карыстальніка.
Выдаленне карыстальніка Linux
Каб выдаліць карыстальніка, выкарыстоўвайце каманду userdel :
userdel username
Аднак гэтая каманда не выдаляе файлы ў хатнім каталогу карыстальніка. Каб выдаліць іх, можна выкарыстаць опцыю -r :
userdel -r username
Гэта выдаліць імя карыстальніка разам з яго хатнім каталогам і ўсімі файламі ў ім.
Змена карыстальніка Linux
Каб змяніць інфармацыю пра карыстальніка, выкарыстоўвайце каманду usermod . Інструмент выкарыстоўвае наступны сінтаксіс:
usermod argument user
Поўны спіс магчымых аргументаў паказаны ў даведцы ўтыліты:
Напрыклад, каб змяніць хатні каталог карыстальніка, вы павінны выкарыстоўваць каманду:
usermod -d /new/path/to/directory username
Стварэнне і кіраванне групамі карыстальнікаў у Linux
Групы карыстальнікаў у Linux дазваляюць адміністратарам групаваць карыстальнікаў з аднолькавымі правамі доступу. Гэта палягчае кіраванне правамі доступу і павышае бяспеку сістэмы, дазваляючы ўсталёўваць правы на ўзроўні групы, а не для кожнага карыстальніка паасобку. У якасці прыкладу мы разгледзім групу распрацоўшчыкаў з карыстальнікам-адміністратарам.
Як стварыць групу карыстальнікаў у Linux
Каб стварыць новую групу, выкарыстоўвайце каманду groupadd з назвай новай групы:
sudo groupadd group_name
У нашым прыкладзе каманда будзе выглядаць так:
sudo groupadd developers
Як выдаліць групу карыстальнікаў у Linux
Каб выдаліць групу, выкарыстоўвайце каманду groupdel :
sudo groupdel group_name
Такім чынам, каманда:
sudo groupdel developers
Будзе выдалена група з назвай распрацоўшчыкі.
Даданне карыстальнікаў у групу
Каб дадаць карыстальніка ў пэўную групу, выкарыстоўвайце каманду usermod :
sudo usermod -aG group_name user_name
Напрыклад:
sudo usermod -aG developers admin
Гэтая каманда дадасць карыстальніка з імем admin у групу распрацоўшчыкаў.
Выдаленне карыстальнікаў з групы
Каб выдаліць карыстальніка з групы, выкарыстоўвайце каманду deluser :
sudo deluser user_name group_name
Каманда для выдалення карыстальніка admin з групы распрацоўшчыкаў :
sudo deluser admin developers
Прагляд спісаў груп у Linux
Каб праглядзець спіс усіх груп у сістэме, выкарыстоўвайце каманду cat з файлам /etc/group :
cat /etc/group
Гэтая каманда адлюструе спіс усіх груп у сістэме.
Праверка членства ў групе карыстальнікаў
Пасля выканання дзеянняў вы можаце праверыць, да якіх груп належыць карыстальнік з дапамогай каманды groups:
groups user_name
Такім чынам, мы вывучылі асновы кіравання групамі карыстальнікаў у Linux. Зараз пяройдзем да наступнага этапу - разгляду прызначэння правоў доступу да файлаў і каталогаў. Гэты працэс дазваляе вызначыць, якія дзеянні карыстальнікі або групы могуць выконваць у дачыненні да пэўных файлаў і каталогаў, забяспечваючы эфектыўнае кіраванне бяспекай і доступ да рэсурсаў сістэмы.
Прызначэнне правоў доступу да файлаў і каталогаў
Сімвалічнае прадстаўленне правоў доступу
Як мы ўжо высветлілі, у Linux існуе 3 катэгорыі карыстальнікаў: уладальнік ( user ), група і іншыя . Кожны з іх можа валодаць пэўнымі групамі доступу да файлаў або каталогаў:
- Чытаць (Чытаць - r): дазваляе праглядаць змесціва файла або каталога.
- Запіс (Write - w): Дае магчымасць змяніць файл або стварыць новы файл у каталогу. Для каталога гэта таксама дазваляе выдаляць з яго файлы.
- Выканаць (Execute - x): Дазваляе запусціць файл (калі гэта выканальны файл) або ўвайсці ў каталог (калі гэта каталог).
У сістэмах сямейства Linux правы доступу прадстаўлены радком з 10 сімвалаў. Першы сімвал паказвае тып файла (звычайны файл, каталог і г.д.), а астатнія дзевяць - гэта тры групы па тры сімвалы для кожнай з груп карыстальнікаў. Для разумення давайце разгледзім прыклад.
Правы доступу -rwxr-x-- азначаюць:
- Першы сімвал (-) паказвае тып файла (у дадзеным выпадку звычайны файл).
- Тры знака для ўладальніка (rwx) паказваюць, што ўладальнік мае правы на чытанне, запіс і выкананне.
- Тры сімвалы для групы (rx) паказваюць, што члены групы маюць правы толькі на чытанне і выкананне.
- Тры знака для іншых (r--) азначаюць, што іншыя карыстальнікі могуць толькі чытаць файл.
Правы доступу ўсталёўваюцца з дапамогай каманды chmod , а сінтаксіс выглядае наступным чынам:
chmod [options] mode file(s)
дзе:
- [параметры] - дадатковыя параметры, такія як -R для рэкурсіўнай змены правоў доступу ў каталогу і яго падкаталогах.
- mode - спецыяльны радок, які вызначае, якія правы доступу змяняюцца і для каго. Рэжым можна задаць сімваламі (r, w, x) і бітамі (0 ці 1). Таксама можна выкарыстоўваць лікавыя значэнні рэжыму (пра іх мы пагаворым пазней)
- файл(ы) - файлы або каталогі, да якіх прымяняюцца змены.
Гэтая ўтыліта з'яўляецца даволі магутным інструментам, таму мы разгледзім толькі некалькі асноўных каманд у якасці прыкладу.
Змяніце правы доступу да файла так, каб уладальнік меў правы на чытанне і запіс, група мела правы толькі на чытанне, а іншыя карыстальнікі не мелі правоў:
chmod u=rw,g=r,o= filename
Усталюйце правы доступу для ўсіх карыстальнікаў на чытанне і запіс у файл:
chmod a+rw filename
Рэкурсіўна змяніць правы доступу для ўсіх файлаў і падкаталогаў у каталогу:
chmod -R u+rwx directory
Лікавае прадстаўленне правоў доступу
У лікавым прадстаўленні кожная катэгорыя карыстальнікаў (уладальнік, група, іншыя) мае свой нумар, і камбінацыя гэтых лічбаў задае канчатковыя правы доступу. Падобна сімвалічнаму, кожнае з трох правоў мае сваё значэнне, але ў лічбавым выглядзе:
- Чытаць (чытаць) - значэнне 4
- Напісаць (напісаць) - значэнне 2
- Execute (выканаць) - значэнне 1
Для вызначэння тыпу карыстальніка таксама выкарыстоўваюцца лікавыя значэнні:
- Уладальнік файла (карыстальнік) - першая лічба
- Група ўладальніка (група) - другая лічба
- Іншыя карыстальнікі (others) - трэцяя лічба
Такім чынам, поўнае лікавае прадстаўленне правоў доступу да файла складаецца з трох лічбаў, кожная з якіх уяўляе сабой суму значэнняў правоў для пэўнай катэгорыі карыстальнікаў. Гэта некалькі зручней, чым выкарыстанне 10 сімвалаў у сімвалічным прадстаўленні. Кіраванне ў гэтым выпадку будзе выглядаць наступным чынам:
chmod XYZ file
дзе X , Y і Z — гэта лічбы, якія прадстаўляюць правы доступу для ўладальніка, групы і іншых карыстальнікаў адпаведна.
Напрыклад, каб даць уладальніку поўныя правы доступу (чытанне, запіс і выкананне), а групе і іншым карыстальнікам толькі чытаць і выконваць, вы можаце выкарыстоўваць каманду:
chmod 755 file
Давайце разгледзім іншыя прыклады:
chmod 700 file
Толькі ўладальнік мае права чытаць, пісаць і выконваць, у той час як група і іншыя карыстальнікі не маюць правоў доступу.
chmod 644 file
Уладальнік мае правы на чытанне і запіс, а група і іншыя карыстальнікі маюць права толькі на чытанне.
chmod 751 file
Уладальнік мае поўныя правы, група мае правы на чытанне і выкананне, а іншыя карыстальнікі маюць толькі правы на выкананне.
Як мы ўжо згадвалі раней, інструмент мае вельмі шырокі функцыянал. У некаторых выпадках варыянтаў, даступных у раздзеле "даведка", недастаткова:
Звярніце ўвагу на апошні радок. Выкарыстанне гэтай каманды адкрывае больш падрабязную дакументацыю па інструменце. Вы таксама можаце наведаць афіцыйную старонку ўтыліты ў Вікіпедыі, дзе вы знойдзеце падрабязную інфармацыю пра Chmod.
Conclusion
Карыстальнікі Linux і кіраванне імі крытычна важныя для бяспекі і стабільнай працы АС. У гэтым артыкуле мы падкрэслілі важнасць эфектыўнага кіравання карыстальнікамі і правамі доступу ў Linux, ахопліваючы стварэнне і кіраванне карыстальнікамі, працу з групамі карыстальнікаў і прызначэнне правоў доступу да файлаў і каталогаў.