Защо не трябва да влизате в Linux системата си като корен
В Linux, потребителят Root е еквивалентен на администраторския потребител на Windows. Въпреки това, докато Windows отдавна има култура на средните потребители, които влизат в системата като администратор, не трябва да влизате като root в Linux.
Microsoft се опита да подобри практиките за защита на Windows с UAC - не трябва да влизате като root в Linux по същата причина, поради която не трябва да деактивирате UAC в Windows.
Защо Ubuntu използва Sudo
Обезсърчаване на потребителите да работят като root е една от причините Ubuntu да използва sudo вместо su. По подразбиране паролата на root е заключена в Ubuntu, така че средните потребители не могат да влязат като корен, без да се отказват от начина си на повторно активиране на root акаунта..
В други дистрибуции на Linux исторически е било възможно да влезете като корен от графичния екран за вход и да получите корен десктоп, въпреки че много приложения могат да се оплакват (и дори да отказват да работят като root, както прави VLC). Потребителите, идващи от Windows, понякога решават да влязат като root, точно както са използвали администраторския акаунт в Windows XP.
С sudo изпълнявате специална команда (с представка от sudo), която придобива root права. С su трябва да използвате командата su, за да получите коренова обвивка, където бихте изпълнили командата, която искате да използвате, преди (надявам се) да излезете от root shell. Sudo помага да се прилагат най-добрите практики, като се изпълняват само команди, които трябва да се изпълняват като root (например командите за инсталиране на софтуер), без да ви оставят в кореновата обвивка, където можете да останете в системата или да стартирате други приложения като root.
Ограничаване на щетите
Когато влезете като свой потребителски акаунт, програмите, които стартирате, са ограничени от писането до останалата част от системата - те могат да пишат само в домашната ви папка. Не можете да променяте системните файлове, без да получавате root права. Това помага да защитите компютъра си. Например, ако браузърът на Firefox е имал дупка в защитата и сте я пуснали като root, злонамерената уеб страница ще може да записва във всички файлове във вашата система, да чете файлове в домашните папки на друг потребителски акаунт и да замества системните команди с компрометирани. такива. За разлика от това, ако сте влезли като ограничен потребителски акаунт, злонамерената уеб страница няма да може да направи нищо от тези неща - тя ще може само да нанесе щети във вашата домашна папка. Въпреки че това все още може да предизвика проблеми, това е много по-добре, отколкото да се компрометира цялата ви система.
Това също ви помага да се предпазите от злонамерени или обикновени бъги приложения. Например, ако стартирате приложение, което реши да изтрие всички файлове, до които има достъп (може би съдържа неприятна грешка), приложението ще изтрие папката ви вкъщи. Това е лошо, но ако имате резервни копия (което трябва!), Е доста лесно да възстановите файловете във вашата домашна папка. Въпреки това, ако приложението имаше корен достъп, можеше да изтрие всеки един файл на твърдия ви диск, което наложи пълно преинсталиране.
Прецизно разрешени разрешения
Докато по-старите дистрибуции на Linux изпълняват цели програми за администриране на системата като root, съвременните Linux настолни компютри използват PolicyKit за още по-фин контрол на разрешенията, които дадено приложение получава.
Например, приложение за управление на софтуер може да получи само разрешение за инсталиране на софтуер на вашата система чрез PolicyKit. Интерфейсът на програмата ще се изпълнява с разрешенията на ограничения потребителски акаунт, само частта от програмата, която инсталираният софтуер ще получи с повишени разрешения - и тази част от програмата ще може да инсталира само софтуер.
Програмата няма да има пълен корен достъп до цялата ви система, която би могла да ви защити, ако в приложението бъде открит отвор за сигурност. PolicyKit също така позволява на ограничени потребителски акаунти да направят някои промени в системната администрация, без да получат пълен корен достъп, което улеснява работата им като ограничен потребителски акаунт с по-малко проблеми.
Linux ще ви позволи да влезете в графичен работен плот като root - точно както ще ви позволи да изтриете всеки един файл на твърдия ви диск, докато системата работи или пишете случайни шумове директно на вашия твърд диск, заличавайки файловата система - но не Не е добра идея. Дори и да знаете какво правите, системата не е проектирана да работи като root - заобикаляте голяма част от архитектурата на сигурността, която прави Linux толкова сигурен.