У Linux користувач Root еквівалентний користувачеві адміністратора в Windows. Однак, хоча Windows вже давно має культуру пересічних користувачів, які входять в систему як адміністратор, ви не повинні входити як root на Linux.
Корпорація Майкрософт намагалася вдосконалити практику безпеки Windows за допомогою UAC - ви не повинні входити як root на Linux для того самого тому не слід вимикати UAC у Windows .
Чому Ubuntu використовує Sudo
Однією з причин тому є перешкоджання користувачам працювати від імені користувача root Ubuntu використовує sudo замість su . За замовчуванням кореневий пароль заблокований в Ubuntu, тому пересічні користувачі не можуть увійти в систему як root, не збиваючись з місця, щоб повторно ввімкнути обліковий запис root.
В інших дистрибутивах Linux історично можна було ввійти як root із графічного екрана входу та отримати кореневий робочий стіл, хоча багато програм можуть скаржитися (і навіть відмовлятись виконувати як root, як це робить VLC). Користувачі з Windows іноді вирішували увійти як адміністратор, як вони використовували обліковий запис адміністратора в Windows XP.
За допомогою sudo ви запускаєте конкретну команду (з префіксом sudo), яка отримує права root. За допомогою su ви використовуєте команду su для отримання кореневої оболонки, де запускаєте команду, яку хочете використовувати до виходу з кореневої оболонки (сподіваємось). Sudo допомагає застосовувати найкращі практики, виконуючи лише ті команди, які потрібно запускати від імені користувача root (наприклад, команди встановлення програмного забезпечення), не залишаючи вас у кореневій оболонці, де ви можете залишитись авторизованим або запустити інші програми як root.
Обмеження шкоди
Коли ви входите як власний обліковий запис користувача, програмам, які ви запускаєте, забороняється записувати в іншу частину системи - вони можуть писати лише у вашу домашню папку. Ви не можете змінити системні файли, не отримавши права root. Це допомагає захистити ваш комп’ютер. Наприклад, якщо браузер Firefox мав дірку в безпеці, і ви запускали його як root, шкідлива веб-сторінка зможе писати у всі файли вашої системи, читати файли в домашніх папках іншого облікового запису користувача та замінювати системні команди на скомпрометовані ті. На відміну від цього, якщо ви ввійшли як обмежений обліковий запис користувача, шкідлива веб-сторінка не зможе зробити жодного з цих дій - вона зможе завдати шкоди лише домашній папці. Хоча це все одно може спричинити проблеми, це набагато краще, ніж компрометувати всю вашу систему.
Це також допомагає захистити вас від зловмисних або простих програм для виправлення помилок. Наприклад, якщо ви запустите програму, яка вирішить видалити всі файли, до яких вона має доступ (можливо, вона містить неприємну помилку), програма видалить нашу домашню папку. Це погано, але якщо у вас є резервні копії (що потрібно!), Відновити файли у домашній папці досить просто. Однак, якщо програма мала root-доступ, вона могла видалити кожен файл на вашому жорсткому диску, що вимагало повної перевстановлення.
Дрібнозернисті дозволи
Хоча старі дистрибутиви Linux запускали цілі програми системного адміністрування як root, сучасні робочі столи Linux використовують PolicyKit для ще більш детального контролю над дозволами, які отримує програма.
Наприклад, програма для управління програмним забезпеченням може отримати лише дозвіл на встановлення програмного забезпечення у вашій системі через PolicyKit. Інтерфейс програми працював би з обмеженими дозволами облікового запису користувача, лише частина програми, яка встановила програмне забезпечення, отримувала б підвищені дозволи - і ця частина програми могла встановлювати лише програмне забезпечення.
Програма не матиме повного кореневого доступу до всієї вашої системи, що може захистити вас, якщо в додатку буде знайдено дірку безпеки. PolicyKit також дозволяє обмеженим обліковим записам користувачів вносити деякі зміни в системне адміністрування без отримання повного кореневого доступу, що полегшує роботу як обмежений обліковий запис користувача з меншими клопотами.
Linux дозволить вам увійти в графічний робочий стіл як root - так само, як дозволить вам видалити кожен окремий файл на жорсткому диску під час роботи системи або записати випадкові шуми безпосередньо на жорсткий диск, видаляючи вашу файлову систему - але це не так це гарна ідея. Навіть якщо ви знаєте, що робите, система не призначена для запуску як root - ви обходите більшу частину архітектури безпеки, яка робить Linux таким безпечним.