- Root је суперкорисник Линукса са потпуном контролом над системом, изнад свих уобичајених ограничења дозвола.
- Уобичајена пракса је да се не пријављујете као root, већ да користите sudo или su за добијање повишених привилегија на контролисан и привремен начин.
- Непажљиво коришћење root приступа може обрисати систем, инсталирати злонамерни софтвер или нарушити безбедност, па је најбоље минимизирати његову употребу и прегледати команде.
- Правилно конфигурисање судоер команди, закључавање root налога и праћење најбољих пракси омогућава безбедну и праћену администрацију Линукса.

Ако долазите са Windows-а (упит кориснички налози у оперативном систему WindowsАко користите Линукс, чувени root корисник може звучати као неразумљива порука, али је заправо кључни део који одваја стабилан и безбедан систем од потпуне катастрофе. Root је „апсолутни шеф“ система, онај који може да инсталира, обрише, поквари и поправи практично све без тражења дозволе.
Разумевање сврхе команде root у Линуксу, како се односи на команде sudo и su, и повезане ризике То је неопходно за управљање вашом опремом, било да је у питању кућни лаптоп или продукцијски серверУ овом чланку ћете видети, доста детаљно и лако разумљивим језиком, шта је root, како се користи у различитим дистрибуцијама (посебно у Ubuntu-у), које опасности носи и које најбоље праксе треба следити како бисте избегли да ваш рачунар постане неупотребљив.
Шта је root корисник у Линуксу и шта га чини посебним?
У сваком ГНУ/Линукс систему постоји корисник са пуним привилегијама који се зове root, такође познат као superuser.Овај корисник има UID 0 и није подложан уобичајеним ограничењима дозвола за датотеке и процесе: може да чита, мења или брише било коју датотеку, инсталира или деинсталира софтвер, мења системска подешавања, управља другим корисницима и приступа критичним сервисима.
Ако га упоредите са Windows-ом, root би био еквивалент администраторског приступа, али са још већом моћи.Зато што је у Линуксу модел дозвола префињенији и раздвајање између корисника и сервиса је много строже. Док је обичан корисник ограничен у ономе што може да ради у путањама као што су /etc, /usr, /var o /bootРут приступ вам омогућава приступ свуда без тражења дозволе.
Поред редовних корисника и root-а, Linux дефинише „системске кориснике“ или сервисне налоге (Демони) са веома ограниченим дозволама се користе за покретање веб сервера, база података или других демона. То значи да чак и ако је сервис угрожен, нападач не добија аутоматски потпун приступ машини... осим ако не успе да ескалира привилегије до root-а.
Подразумевано, стандардни корисник не може инсталирати системске програме, мењати глобалне конфигурационе датотеке или креирати директоријуме у осетљивим областима.Да бисте извршили било који од ових задатака, мораћете да повећате привилегије користећи алате као што су sudo o suшто су управо уобичајени механизми за контролисано „позивање“ суперкорисника.
У многим модерним дистрибуцијама, посебно у Ubuntu-у и његовим дериватима, директно root пријављивање је онемогућено.Уместо тога, током инсталације се креира обичан корисник који припада групи администратори (на пример, sudo o admin) и команда се користи sudo да бисте извршили административне радње захтевањем сопствене лозинке, а не root лозинке.
Разлика између обичних корисника, root-а и sudo групе
Линукс имплементира систем дозвола заснован на корисницима и групамаГенерално говорећи, можемо разликовати три главне врсте налога са којима ћете се свакодневно сусрећати када говоримо о root-у:
Усуариос нормалесОво су налози људи који користе систем. Они имају дом Могу да инсталирају програме у свој директоријум, покрећу десктоп апликације, чувају документе итд. Међутим, Не могу да обављају задатке системске администрације како инсталирати глобалне пакете, изменити конфигурације у /etc или управљати другим корисницима, осим ако не користе sudo o su.
Роот корисник: је суперкорисник са апсолутном контролом. Не подлеже ограничењима дозвола осим онима које намеће сам кернел или напредни безбедносни механизми.Буквално може да „ради и поништава шта му се прохте“, од брисања коренског директоријума до промене дозвола за било коју датотеку. Управо зато се не препоручује за свакодневне задатке.
Администраторски корисници (sudoers): су обични корисници који припадају посебној групи (обично sudo o admin) И Имају дозволу да извршавају команде као root користећи sudoНа пример, да бисте додали корисника у групу sudo Можете користити нешто овако:sudo usermod -aG sudo nombreusuario
Када корисник постане део sudo групе, може да извршава привилеговане команде додавањем префикса sudoСистем ће тражити вашу лозинку (не root лозинку) и ако је исправна, извршиће команду са привилегијама суперкорисника. Ово пружа добру равнотежу између безбедности и практичности.
Шта је корен у пракси и за шта се користи?
Ван теорије, root корисник је идентитет који систем користи за прављење било каквих дубоких променаМожете наставити да радите са својим уобичајеним корисничким налогом и користити root само када је то потребно. Хајде да погледамо неке од главних употреба.
Инсталирајте или деинсталирајте системски софтверМенаџери пакета (као што су) apt, dnf o pacmanПотребно је да пишу на заштићене путање, тако да Увек раде са root привилегијамаТипичан пример би био:sudo apt install vlc
Уредите датотеке конфигурације системаВећина системских сервиса и програма се конфигурише путем текстуалних датотека у директоријумима као што су /etcДа бисте их отворили помоћу уређивача и сачували, потребна су вам повећана права. На пример:sudo nano /etc/hosts
Промените root лозинку или лозинке других корисникаОперације као што је промена лозинке суперкорисника или лозинке другог налога подразумевају приступ бази података лозинки система. Типична команда би била:sudo passwd root
Извршавајте потенцијално опасне команде. Алати попут rm (избриши), chmod (промена дозвола), chown (промена власника) или mkfs (форматирање) може нанети много штете ако се злоупотреби. Систем захтева root дозволе за операције које утичу на критичне датотеке или уређаје. како би се спречило да обичан корисник случајно уништи систем.
Управљајте покретањем, гашењем и поновним покретањем машинеКоманде попут reboot, poweroff или напредно руковање systemctl о системским услугама Такође захтевају привилегије суперкорисника. За више информација о systemd и његово управљање услугама Можете консултовати специјализовану документацију. У супротном, сваки корисник би могао поново покренути производни сервер кад год пожели.
У пракси, ако нешто не успе са грешком „дозвола одбијена“ у Линуксу, вероватно је да ћете морати да га покренете са root привилегијама. коришћење sudo или привремено пребацивање на суперкорисника са su.
Команде sudo и su: када користити сваку од њих
Када схватите да је root корисник „власник“ система, време је да разумете како да добијете те привилегије са свог уобичајеног корисничког налога.Два класична алата за ово су sudo y suкоје не раде потпуно исту ствар, иако их многи људи мешају.
sudo („superuser do“) се користи за извршавање једне команде са дозволама другог корисника, обично root-а.Не мењате сесије, не постајете root „за све“; само се та одређена команда извршава са повишеним привилегијама. На пример:sudo apt install gparted
Сваки пут када користите sudo Систем ће вас питати за лозинку (ако је нисте унели у скорије време).Након неколико минута неактивности, судо „карта“ истиче и мораћете поново да се аутентификујете, што додаје важан слој безбедности.
su („промена корисника“) мења ваш кориснички идентитет у истој сесијиАко га користите без аргумената, постаћете root (тражиће root лозинку) и све наредне команде ће се извршавати са тим привилегијама док не изађете. exit. На пример:suContraseña:whoami # devuelve 'root'
Такође можете да користите su nombreusuario да пређете са једног корисника на другогпод условом да знате лозинку за циљни налог. Ово ће потпуно променити окружење у окружење новог корисника (променљиве, домитд.) препоручује се употреба su - o su - nombreusuario.
Генерално, сматра се безбеднијим и препоручљивијим за употребу sudo за одређене команде и прибегавајте su само када вам је заиста потребна продужена рут сесија (на пример, код задатака опоравка или сложеног одржавања).
Посебности root-а у Ubuntu-у и изведеним дистрибуцијама
Убунту и многе дистрибуције засноване на њему прате прилично јасну безбедносну филозофију: root корисник постоји, али му је директно пријављивање блокирано.То значи да након стандардне инсталације не можете да се пријавите као root ни у терминалу ни у графичком окружењу користећи лозинку, јер она није додељена.
Уместо тога, Убунту се одлучује за интензивну употребу sudoТоком процеса инсталације, креира се администраторски корисник који припада групи sudoОдатле се сваки административни задатак обавља помоћу:sudo comando
Ако вам је потребна „пуна“ root љуска у Ubuntu-у, имате неколико безбедних опција.:sudo -i # Отворите сесију пријаве са root налогомsudo su - # Пређи на root са окружењем за пријаву
Обе методе вас остављају као root у том терминалу док не изађете са exitВидећете да се упит обично мења и завршава са # уместо $Ово је класичан знак да имате привилегије суперкорисника. Важно је имати ово на уму како бисте избегли извршавање опасних команди тамо где не би требало.
Иако се не препоручује, можете омогућити root корисника у Убунтуу тако што ћете му доделити лозинку. са:sudo passwd root
Након уноса и потврде нове лозинке, root ће бити „откључан“ и биће могуће, на пример, користити su без претходног sudo-а или чак дозвољавања директног пријављивања путем TTY-а или SSH-а (нешто што се јако не препоручује на изложеним серверима).
Прави ризици непажљивог коришћења рута
Радити као root, а да не знаш тачно шта радиш, је као возити камион у рикверц на аутопуту: можда ће проћи добро, али ако на секунду изгубиш концентрацију, неред је епски.Линукс је подразумевано дизајниран да буде прилично безбедан, али чим повећате привилегије, многе заштите нестају.
Први велики ризик је случајно брисање или оштећење система датотекаКоманде као што су:rm -rf /rm -rf /*
или чак суптилније конструкције као што су:rm -rf "$directorio"/*
Могу уништити цео систем за неколико секунди ако се покрећу као root и путања није оно што мислите.Понекад је све што је потребно празна променљива, погрешно постављена коса црта или погрешно постављен тастер Tab да би се наизглед невина команда претворила у катастрофу.
Друга велика опасност је инсталирање злонамерног софтвера са пуним привилегијамаПреузимање и покретање скрипти са интернета као root корисник без гледања кода је као давање кључева од куће странцу. Злонамерна скрипта може да се инсталира рооткитКејлогери или задња врата, модификовање језгра, шпијунирање свега што радите и остајање скривеним дуго времена.
Такође је релативно лако угрозити безбедност система манипулисањем дозволама за критичне датотеке.На пример, ако покренете нешто попут:chmod 000 /etc -R
или промените дозволе за /boot до /etc/passwd без знања шта радиш, Можете учинити машину немогућом за покретање или онемогућити аутентификацију корисника.У многим случајевима, једино решење је коришћење LiveCD-а или чак поновна инсталација.
Са безбедносног становишта, стално коришћење root налога претвара тај налог у „јединствену тачку отказа“Ако нападач добије root приступ (путем грубе силе, фишинга, злонамерног софтвера итд.), има потпуну контролу: може да шифрује дискове, краде податке, придружи се ботнету или користи ваш сервер за напад на треће стране. Да бисте ублажили ове ризике, требало би да се дубље упустите у технике за... јачање помоћу SELinux-а и друге механизме заштите.
Штавише, интензивна употреба корена отежава праћење.Када се команде извршавају са sudoСистем бележи ко их је покренуо и када, док ако се све ради као root није јасно ко стоји иза сваке акције, што компликује ревизије и дијагнозу проблема.
Прикажи звездице приликом куцања лозинке за судо
Подразумевано, када унесете своју sudo лозинку у многим дистрибуцијама (као што је Ubuntu), не видите никакве тачке или звездице.Ово је било замишљено као безбедносна мера како би се спречило да било ко закључи дужину ваше лозинке само гледајући у екран, али у пракси је прилично незгодно: куцате и чини се да се ништа не дешава.
Већ неко време, sudo је дозвољавао активацију понашања које се зове pwfeedbackПриказује звездицу за сваки знак који откуцате. Не открива вашу лозинку, али потврђује да тастатура реагује и помаже вам да откријете грешке у куцању.
Да бисте га активирали, потребно је да измените конфигурацију судо-а помоћу алатке „Secure“ visudoОво валидира синтаксу пре чувања како би се спречило да изгубите sudo привилегије због неке глупе грешке. Кораци би били следећи:
1. Отворите подешавања судо-а:sudo visudo
2. Додајте линију:Defaults pwfeedback
3. Сачувај и изађи из уређивача
Од тог тренутка, сваки пут када унесете своју sudo лозинку, појављиваће се звездице.Ако у било ком тренутку желите да се вратите на првобитно понашање, једноставно уклоните ту линију користећи `return`. visudo.
Онемогућите или блокирајте root налог
У окружењима где више људи има приступ истом рачунару, root лозинка може бити дељена чешће него обично.Ако превише људи зна тај кључ, само је питање времена када ће неко направити (или претрпети) неред. Веома разумно решење је да се онемогући root налог и ради само са sudo-ом.
Када закључате root налог, спречавате кориснике да се директно пријаве као тај корисник. и такође спречавате његову употребу su Да бисте добили root приступ помоћу лозинке. Међутим, Овлашћени корисници ће и даље моћи да користе sudo да извршава привилегована наређења.
Да бисте закључали root налог у многим дистрибуцијама, једноставно покрените:sudo passwd -l root
Ова команда „замрзава“ root лозинку тако да се не може користитиАко касније будете морали поново да га активирате, мораћете да поставите нову лозинку, попут:sudo passwd root
Опоравите или промените своју root лозинку ако сте је изгубили
Ако сте заборавили root лозинку или сте закључали налог и потребно је да је повратите, није све изгубљено.Линукс нуди неколико начина за ресетовање, обично покретањем система у посебном режиму или коришћењем LiveCD-а.
Веома уобичајена опција је да се то уради из GRUB-а, користећи режим опоравкаМноге дистрибуције имају ставку „Напредне опције“ где можете изабрати „Режим опоравка“. Његовим избором се учитава ограничено окружење са опцијама за спасавање.
Ако изаберете опцију за добијање root конзоле у режиму опоравкаСтандардни ток је обично:
1. Монтирајте фајл систем са дозволама за писање:mount -o rw,remount /
2. Поставите нову лозинку за root корисника:passwd root
3. Синхронизујте податке и поново покрените рачунар да бисте применили промене:syncreboot
Друга главна опција је покретање са LiveCD-а или LiveUSB-а неке Линук дистрибуције. (на пример, Ubuntu у режиму „Покушај без инсталирања“) и радите на инсталираном систему споља.
У типичном сценарију са LiveCD-ом, кораци би били:
1. Отворите терминал и преузмите привремену root шкољку:sudo su
2. Идентификујте партицију која садржи ваш Linux систем помоћу нечега попут:fdisk -l
3. Монтирајте ту партицију у радни директоријум (пример користећи /dev/sda1):mkdir /mnt/recovermount /dev/sda1 /mnt/recover
4. Промените корен система у директоријум монтиран са chroot:chroot /mnt/recover
5. Одатле, користите passwd root да бисте поставили нову лозинку и, након одјаве и поновног покретања, моћи ћете поново да се нормално пријавите.
Датотека /etc/sudoers и како прецизно подесити root дозволе
Један од најмоћнијих (и најделикатнијих) аспеката управљања root директоријумом је датотека /etc/sudoers, где је дефинисано ко може да користи sudoОвде можете детаљно прилагодити приступ са повишеним привилегијама, наводећи где и које команде треба извршити.
Веома важно: никада не мењајте /etc/sudoers директно са било којим уредникомУвек користите:sudo visudo
јер овај алат Проверите синтаксу пре чувањаГрешка у овој датотеци може вас спречити да користите sudo, и са visudo Минимизујете тај ризик.
Типичан садржај /etc/sudoers Чист Убунту укључује линије сличне:root ALL=(ALL:ALL) ALL%sudo ALL=(ALL:ALL) ALL
Први означава да root корисник може да изврши било коју команду на било ком хосту као било који корисник и група.Други ради исто, али за све кориснике у групи. sudoНа овај начин, свако у тој групи има потпуну моћ путем sudo.
За напредније конфигурације, sudoers вам омогућава да дефинишете алијасе за кориснике, команде и групе за извршење., на пример:
User_Alias ADMINES = pepe, perico, andres
Cmnd_Alias POWER = /sbin/shutdown, /sbin/halt, /sbin/reboot, /sbin/restart
Runas_Alias WEB = www-data, apache
Са овим дефиницијама бисте, на пример, могли дати АДМИНИСТРАТОРИМА дозволу да искључе или поново покрену систем без лозинке са правилом као што је:ADMINES ALL = NOPASSWD: POWER
Ознаке попут NOPASSWD Омогућавају вам да извршите одређене команде помоћу sudo-а без потребе за уносом лозинке.Ово је веома корисно у аутоматизованим скриптама, интеграцијама са другим системима или персоналним рачунарима где сте једини корисник.
Као занимљивост, постоји опција која се зове insults да, ако га додате у линије DefaultsЗбог тога вас sudo „вређа“ на енглеском сваки пут када унесете погрешну лозинку.Не побољшава безбедност, али барем вам измами осмех на лице усред посла.
Коришћење root-а за управљање датотекама и дозволама из терминала
У пракси, велики део употребе root-а је усмерен на управљање датотекама и дозволама путем терминала.Са привилегијама суперкорисника можете се кретати по целом систему датотека и мењати шта год вам је потребно, увек предузимајући изузетне мере предострожности.
Неке основне команде постају посебно осетљиве када се користе као root. звук:
ls: наводи датотеке и директоријуме. Као root корисник ћете видети чак и датотеке које други корисници не могу да наведу.
cp y mvДа бисте копирали и преместили датотеке или директоријуме, користите `sudo`. На пример, можете користити `sudo` да бисте преместили фонт из... Descargas горе /usr/share/fonts/ тако да буде доступан целом систему.
rm: брише датотеке и фасцикле. У комбинацији са -r y -f Изузетно је опасно ако га користите као root без правилно провере путање.
chmod y chownОва подешавања мењају дозволе и власништво. Она су неопходна за одобравање приступа датотекама одређеним корисницима, али злоупотреба може учинити систем небезбедним или неупотребљивим.
Типичан пример коришћења root-а за инсталирање системског изворног кода би био:
sudo cp ~/Descargas/Underdog.ttf /usr/share/fonts/sudo chmod 644 /usr/share/fonts/Underdog.ttf
Режим 644 То указује да власник (root) може да чита и пише, док група и остали корисници могу само да читају., довољно да фонт ради, али без дозвољавања случајних промена.
Најбоље праксе при раду са root, sudo и su
Рад са привилегијама суперкорисника није нешто што треба схватити олако.Постоји низ смерница које, ако их усвојите, могу вам уштедети много муке:
Смањите време које проводите као root. сад sudo comando Кад год је то могуће, избегавајте отварање трајне root сесије. Што мање времена проводите са пуним привилегијама, мања је вероватноћа да ћете направити грешку.
Избегавајте по сваку цену покретање скрипти из сумњивих извора помоћу sudo-аАко преузмете скрипту са интернета и прво што видите је „покрени ово са sudo-ом“, отворите је помоћу уређивача текста и пажљиво је прочитајте. Ако не разумете шта ради, немојте је покретати.
Користите окружења за тестирање (виртуелне машине, контејнере) за експериментисањеАко ћете се петљати са осетљивим конфигурацијама, тестирати агресивне команде или покретати нејасне скрипте, урадите то прво на систему у који можете безбедно да провалите. Водиче о безбедној виртуелизацији можете пронаћи на [линк до водича]. виртуелне машине и контејнери.
Конфигуришите судо прецизно када постоји више администратораНије исто за корисника коме је потребно само да поново покрене услугу и за некога коме је потребна потпуна контрола. Користите /etc/sudoers да ограничи шта свака особа може да уради.
Праћење евиденција аутентификације (/var/log/auth.log o journalctlОво вам омогућава да видите ко користи sudo, одакле и са којим командама. То је једноставан начин за откривање необичног понашања или злоупотребе привилегија.
Не претражујте интернет, не отварајте прилоге или не покрећите десктоп апликације као root.Ако је графичка апликација угрожена док је покрећете као суперкорисник, нападач осваја џекпот.
Укратко, root у Линуксу је изузетно моћан алат којим се мора пажљиво руковати.Разумевање чему служи sudo, када користити sudo или su, како опоравити или закључати налог и како подесити sudoers омогућиће вам да безбедно и самоуверено управљате својим системом, користећи у потпуности флексибилност GNU/Linux-а без ризиковања живота сваки пут када отворите терминал.
Преглед садржаја
- Шта је root корисник у Линуксу и шта га чини посебним?
- Разлика између обичних корисника, root-а и sudo групе
- Шта је корен у пракси и за шта се користи?
- Команде sudo и su: када користити сваку од њих
- Посебности root-а у Ubuntu-у и изведеним дистрибуцијама
- Прави ризици непажљивог коришћења рута
- Прикажи звездице приликом куцања лозинке за судо
- Онемогућите или блокирајте root налог
- Опоравите или промените своју root лозинку ако сте је изгубили
- Датотека /etc/sudoers и како прецизно подесити root дозволе
- Коришћење root-а за управљање датотекама и дозволама из терминала
- Најбоље праксе при раду са root, sudo и su

