База ведаў Простая інструкцыя па працы з сэрвісам Профітсервер
галоўны База ведаў Карыстальнікі Linux: кіраванне і дазволы

Карыстальнікі Linux: кіраванне і дазволы


У гэтым артыкуле мы вывучым важнасць правільнай арганізацыі карыстальнікаў 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

Поўны спіс магчымых аргументаў паказаны ў даведцы ўтыліты:

Даведка па ўтыліце кіравання карыстальнікамі Linux

Напрыклад, каб змяніць хатні каталог карыстальніка, вы павінны выкарыстоўваць каманду:

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 ), група і іншыя . Кожны з іх можа валодаць пэўнымі групамі доступу да файлаў або каталогаў:

  1. Чытаць (Чытаць - r): дазваляе праглядаць змесціва файла або каталога.
  2. Запіс (Write - w): Дае магчымасць змяніць файл або стварыць новы файл у каталогу. Для каталога гэта таксама дазваляе выдаляць з яго файлы.
  3. Выканаць (Execute - x): Дазваляе запусціць файл (калі гэта выканальны файл) або ўвайсці ў каталог (калі гэта каталог).

У сістэмах сямейства Linux правы доступу прадстаўлены радком з 10 сімвалаў. Першы сімвал паказвае тып файла (звычайны файл, каталог і г.д.), а астатнія дзевяць - гэта тры групы па тры сімвалы для кожнай з груп карыстальнікаў. Для разумення давайце разгледзім прыклад.

Правы доступу -rwxr-x-- азначаюць:

  1. Першы сімвал (-) паказвае тып файла (у дадзеным выпадку звычайны файл).
  2. Тры знака для ўладальніка (rwx) паказваюць, што ўладальнік мае правы на чытанне, запіс і выкананне.
  3. Тры сімвалы для групы (rx) паказваюць, што члены групы маюць правы толькі на чытанне і выкананне.
  4. Тры знака для іншых (r--) азначаюць, што іншыя карыстальнікі могуць толькі чытаць файл.

Правы доступу ўсталёўваюцца з дапамогай каманды chmod , а сінтаксіс выглядае наступным чынам:

chmod [options] mode file(s)

дзе:

  1. [параметры] - дадатковыя параметры, такія як -R для рэкурсіўнай змены правоў доступу ў каталогу і яго падкаталогах.
  2. mode - спецыяльны радок, які вызначае, якія правы доступу змяняюцца і для каго. Рэжым можна задаць сімваламі (r, w, x) і бітамі (0 ці 1). Таксама можна выкарыстоўваць лікавыя значэнні рэжыму (пра іх мы пагаворым пазней)
  3. файл(ы) - файлы або каталогі, да якіх прымяняюцца змены.

Гэтая ўтыліта з'яўляецца даволі магутным інструментам, таму мы разгледзім толькі некалькі асноўных каманд у якасці прыкладу.

Змяніце правы доступу да файла так, каб уладальнік меў правы на чытанне і запіс, група мела правы толькі на чытанне, а іншыя карыстальнікі не мелі правоў:

chmod u=rw,g=r,o= filename

Усталюйце правы доступу для ўсіх карыстальнікаў на чытанне і запіс у файл:

chmod a+rw filename

Рэкурсіўна змяніць правы доступу для ўсіх файлаў і падкаталогаў у каталогу:

chmod -R u+rwx directory

Лікавае прадстаўленне правоў доступу

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

  1. Чытаць (чытаць) - значэнне 4
  2. Напісаць (напісаць) - значэнне 2
  3. Execute (выканаць) - значэнне 1

Для вызначэння тыпу карыстальніка таксама выкарыстоўваюцца лікавыя значэнні:

  1. Уладальнік файла (карыстальнік) - першая лічба
  2. Група ўладальніка (група) - другая лічба
  3. Іншыя карыстальнікі (others) - трэцяя лічба

Такім чынам, поўнае лікавае прадстаўленне правоў доступу да файла складаецца з трох лічбаў, кожная з якіх уяўляе сабой суму значэнняў правоў для пэўнай катэгорыі карыстальнікаў. Гэта некалькі зручней, чым выкарыстанне 10 сімвалаў у сімвалічным прадстаўленні. Кіраванне ў гэтым выпадку будзе выглядаць наступным чынам:

chmod XYZ file

дзе X , Y і Z — гэта лічбы, якія прадстаўляюць правы доступу для ўладальніка, групы і іншых карыстальнікаў адпаведна.

Напрыклад, каб даць уладальніку поўныя правы доступу (чытанне, запіс і выкананне), а групе і іншым карыстальнікам толькі чытаць і выконваць, вы можаце выкарыстоўваць каманду:

chmod 755 file

Давайце разгледзім іншыя прыклады:

chmod 700 file

Толькі ўладальнік мае права чытаць, пісаць і выконваць, у той час як група і іншыя карыстальнікі не маюць правоў доступу.

chmod 644 file

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

chmod 751 file

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

Як мы ўжо згадвалі раней, інструмент мае вельмі шырокі функцыянал. У некаторых выпадках варыянтаў, даступных у раздзеле "даведка", недастаткова:

Інструмент для кіравання правамі доступу ў Linux

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

Conclusion

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

❮ Папярэдні артыкул Настройка брандмаўэра ў Linux
Наступны артыкул ❯ Лінукс тэкставыя рэдактары

Спытайце нас пра VPS

Мы заўсёды гатовы адказаць на вашы пытанні ў любы час дня і ночы.