Чому погано запускати як root?


9

Я часто натрапляю на повідомлення на форумах чи інших веб-сайтах, де ви бачите, як люди так жартують про запуск / вхід у систему як root, ніби це щось жахливе, і кожен повинен про це знати. Однак обстеження в цьому питанні виявляється не так багато. Це, можливо, широко відоме експертам Linux, але я не знаю чому. Я пам’ятаю, що завжди працював як root, коли я вперше спробував Linux років тому (Redhat і Mandrake), і не пам’ятаю, щоб із-за цього виникли проблеми. Насправді є декілька дистрибутивів, які мають яскраво-червоний фон із попереджувальними знаками по всьому світу як шпалери для кореневого користувача (Suse?). Я все ще користуюся обліковим записом "Адміністратор" для регулярного використання під час моєї установки Windows, і жодного разу не виникає жодних проблем.

Відповіді:


9

Ці користувачі мають адміністративний доступ до системи, рівень дозволів, який дозволяє їм та запущеним програмам обходити механізми захисту (наприклад, дозволи файлової системи), що дозволяє їм робити все в системі. Зловмисне програмне забезпечення любить необмежений доступ.

Як простий приклад,

sudo rm -rf *

буде видалено майже все в системі Linux, якщо ви знаходитесь в кореневій директорії. Це не повинно бути настільки очевидним, як навіть шкідливим. Щось на зразок несподівано невизначених змінних у скриптах, які потребують привілеїв root, може спричинити серйозні проблеми:

rm -rf $destinationDir/*

# if the variable is undefined and the shell doesn't care, the result is:
rm -rf /*

Іноді це проста помилка друку в сценарії, яка видаляє половину вашої системи.

Тому загальна рекомендація - використовувати програми для виконання лише з підвищеними дозволами, якщо це дійсно необхідно.


3
Отже, коротше: це небезпечно.
digitxp

Тільки дивлячись на цю команду змушує мій живіт.
Пол Ламмерцма

4

Корінь у Linux є навіть потужнішим, ніж обліковий запис адміністратора в Windows. Це можна порівняти з обліковим записом SYSTEM на Windows, який, як правило, недоступний.


0

Це було б еквівалентом повністю відключення UAC та запуску адміністратора для всіх користувачів на вікні Windows. Зловмисне програмне забезпечення може бути легше встановити, керування завантаженнями ефективніше, якщо є проникнення, вони тепер є богом на вашому комп’ютері. Ви просто ефективно видаляєте привілеї користувачів (як правило, погана практика). Імхо, якщо у вас не було проблеми, вам або пощастило, ви маєте неймовірно безпечні звички перегляду, або, швидше за все, .... мали проблеми і не знали цього.


Які проблеми я міг (і зараз у Windows) і не знав?
Mussnight

Ви не можете виявити деякі типи руткітів, які нічого не роблять для процесорів чи інтенсивно на диску (наприклад, опитування веб-сайту з одним отримання / публікації кожні 2 хвилини, щоб бути частиною DDoS). Інші можливості включають повільний пошук вашого диска для даних, пов'язаних з PCI (номери кредитних карток)
RobotHumans

0

У мене є (принаймні двічі) написані сценарії, які повинні були певним чином переглядати структуру каталогів і виконувати rm -rf *в якомусь каталозі. Була помилка, і скрипт потрапив у "/"(root) каталог та виконати rm -rf *. Це, звичайно, приклад найгіршого виду, але навіть менші злі скрипти або команди можуть завдати серйозної шкоди вашій системі, якщо вона працює як root.


Для скриптів (особливо тих, які повинні працювати з привілеями root) слід використовувати мережі безпеки типу "rm -rf / full / path / to / target / dir / *" або "cd / some / noistingisting / directoy / | exit 1" .

0

Окрім повноважень, які пов'язані з цим, а отже, і наслідків помилок, він також не має жодних попереджень. І саме попередження попереджають вас про несподівані речі.

Як і під час запуску графічного інтерфейсу як root: як ви коли-небудь дізнаєтесь, що деякі зловмисні програми намагалися встановити себе?


0

У вас сумна біда Microsoft та антивірусів, які займаються цією проблемою. Обліковий запис адміністратора (root) повинен мати необмежений доступ (як заявляють усі). Він може не лише змінювати системні файли, що призводить до роботи машини, яка не може завантажуватися, а й отримувати доступ до інших даних користувачів (прав доступу користувачів недостатньо для забезпечення доступу до даних та їх модифікацій, коли доступний фізичний доступ до комп'ютера). Тепер про те, чого ви не "бачите".

Прикрою практикою було завжди запускати машину Windows як адміністратор. Для цього є вагомі причини, такі як можливість стати іншим користувачем протягом сеансу, що висмоктується (для встановлення програми потрібно буде вийти з системи та увійти як адміністратор та встановити додаток, що може зажадати навіть запуску адміністратора). Результатом є те, що ваш комп'ютер звикає до речей, яких ви не очікували, навіть якщо ви не встановили програму.

Результат полягає не в тому, що люди віддаляються від керування адміністратором, але Microsoft забезпечує контроль дозволів на підкреслювальну структуру ОС UAC. Це означає, що вас просять надати програмі дозвіл на запуск незалежно від того, хто ви є. Vista дійсно погана, тому що вона мала два шари для користувачів адміністратора: "Ви хочете запустити цю програму?", "Добре, тепер, коли ви запускаєте цю програму, ви хочете її дозволити запускати?"

У Linux ви бачите зовсім іншу філософію. По-перше, ОС виконує те, що ви їй сказали, не перевіряючи, чи дійсно ви хотіли запустити програму. По-друге, користувач не може робити що-небудь, що хоче в систему. Це означає, що система захищена від помилок користувача, але користувач завжди може підвищити свої дозволи на належний рівень, якщо захоче. Microsoft в основному побудував шар ескалації дозволів окремо від користувальницького шару, чи Linux / Unix завжди мав розробляти розширення дозволів, які працювали з користувачами.


0

В Linux це здебільшого просто утримує вас (або додаток, що діє від вашого імені) від випадкового втручання.

У Windows не можна встановити багато типів програмного забезпечення без запуску в обліковому записі в якості адміністратора, оскільки у вас немає доступу на запис до програмних файлів або папок Windows. Найгірші види зловмисного програмного забезпечення повинні вміти писати до цих областей, щоб проникнути у вашу систему.

Якщо ви не працюєте в якості адміністратора і відвідуєте порушений сайт, який намагається встановити щось на зразок прихованого кейлоггера для крадіжки паролів, банківської інформації або номерів кредитних карток, встановлення, ймовірно, не вдасться. Якщо ви працюєте адміністратором, ця установка має набагато більше шансів на успіх. Цей же принцип справедливий і для систем Linux.

Тут важливо те, що антивірусне програмне забезпечення навіть не вступає. У наші дні антивірусне програмне забезпечення - це ваша остання лінія захисту, а не перша. Порядок важливості, який я використовую для оцінки заходів безпеки, виглядає таким чином:

  1. Тримайте виправлену систему (включаючи прикладне програмне забезпечення)
  2. Не запускатись як адміністратор
  3. Використовуйте інші безпечні звички в Інтернеті
  4. Запустити брандмауер
  5. Майте гарну резервну копію в режимі офлайн (у цьому випадку офлайн означає "недоступний для вашої звичайної файлової системи", що насправді може означати використання онлайн-сервісу)
  6. Запустіть антивірусне програмне забезпечення

Насправді, якщо ви робите достатньо інших предметів правильно, антивірусне програмне забезпечення насправді зовсім не потрібне. Але тут важливо те, що запуск адміністратора - це ні-ні.

На щастя, зараз це стан за замовчуванням у Windows 7. Навіть якщо ваш обліковий запис має права адміністратора, він все ще працює з «пісочницею» і просто дає право підвищити для конкретної програми на вимогу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.