Кой е Root? Защо съществува Root?


Чудили ли сте се защо в Linux има специален акаунт, наречен root? Знаете ли какви са препоръчителните най-добри практики за използване на този акаунт? Наясно ли сте със сценариите, при които трябва да се използва и тези, при които не? Ако сте отговорили с „да“ на един или повече от тези въпроси, продължете да четете.

В тази публикация ще предоставим справка с информация за root акаунта, която ще искате да държите под ръка.

Какво е root?

Като начало, нека имаме предвид, че йерархията на директориите в Unix-подобни операционни системи е проектирана като дървовидна структура. Началната точка е специална директория, представена с наклонена черта (/), като всички други директории първоначално се разклоняват от нея. Тъй като това е аналогично на действително дърво, / се нарича главна директория.

В следното изображение можем да видим резултата от:

tree -d / | less

което илюстрира аналогията между / и корена на дърво.

Въпреки че причините зад именуването на root акаунта не са съвсем ясни, това вероятно се дължи на факта, че root е единственият акаунт, който има разрешения за запис в / .

Освен това root има достъп до всички файлове и команди във всяка Unix-подобна операционна система и често се нарича суперпотребител поради тази причина.

Като странична бележка, главната директория (/) не трябва да се бърка с /root, която е домашната директория на root потребителя. Всъщност /root е поддиректория на /.

Получаване на достъп до root права

Когато говорим за root (или суперпотребител) привилегии, имаме предвид разрешенията, които такъв акаунт има в системата. Тези привилегии включват (но не се ограничават до) способността да се променя системата и да се предоставят на други потребители определени разрешения за достъп до нейните ресурси.

Безразсъдното използване на тази власт може да доведе до повреда на системата в най-добрия случай и пълен провал в най-лошия. Ето защо следните насоки се приемат като най-добри практики, когато става въпрос за достъп до привилегиите на root акаунта:

Първоначално използвайте root акаунта, за да стартирате visudo. Използвайте тази команда, за да редактирате /etc/sudoers, за да предоставите минималните привилегии на суперпотребител, от които се нуждае даден акаунт (напр. надзорник).

Това може да включва например възможност за създаване (adduser) и промяна (usermod) на потребителски акаунти – и нищо друго.

Продължавайки напред, влезте като супервайзор и използвайте sudo за изпълнение на задачи за управление на потребителите. Ще забележите, че опитите за изпълнение на други задачи, които изискват разрешения на суперпотребител (премахване на пакети, например), трябва да се провалят.

Повторете горните две стъпки, когато е необходимо, и след като сте готови, използвайте командата изход, за да се върнете незабавно към вашия непривилегирован акаунт.

В този момент трябва да се запитате дали други задачи, които се появяват периодично, изискват ли привилегии на суперпотребител? Ако е така, дайте необходимите разрешения в /etc/sudoers за даден акаунт или група и продължете да избягвате използването на root акаунта, доколкото е възможно.

Резюме

Тази публикация може да служи като справка за правилното използване на root акаунта в Unix-подобна операционна система. Чувствайте се свободни да го добавите към вашите отметки и да се връщате толкова пъти, колкото искате!

Както винаги, пишете ни, като използвате формата за коментари по-долу, ако имате въпроси или предложения относно тази статия. Очакваме да се чуем!