Чи "ОК" використовувати root користувача як звичайного користувача?


94

Я включив привілейований користувач на моєму Mac , так що я можу увійти в нього і запустити Finder і т.д. Будучи ледачим людиною , який я, тільки що перевели все з мого домашнього каталогу /var/root. Я не надто впевнений у цьому, тому можу перенести все назад. Чи технічно "гаразд" використовувати це як звичайний користувач? (Я єдиний, хто може отримати доступ до мого комп'ютера.)


6
Хороше запитання з коренем без ел-капітана за кутом.
CousinCocaine

4
Що конкретно означає (доступ до мого комп'ютера). Ви, ймовірно, підключитесь до Інтернету. Ви не вказуєте, яке програмне забезпечення ви надаєте доступ до комп'ютера. Як вам здається "ОК"? Кудо за отримання чудових загальних відповідей. Можливо, краще задати більш детальне запитання (якщо таке існує) як подальше запитання.
bmike

6
Ви можете використовувати кореневий обліковий запис як звичайний користувач, якщо ви знаєте відповідь на питання "Чи" ОК "використовувати кореневого користувача як звичайного користувача?". Як тільки ви дізнаєтесь відповідь, ви цього не зробите. ;-)
Дакшинамурті Карра

Ви можете додати різницю між root, адміністратором та звичайним користувачем. Я вважаю, що адміністратор за замовчуванням.
Стів Мозер,

6
"Я єдиний, хто може отримати доступ до свого комп'ютера" <- Lol
Тім,

Відповіді:


352

Використовувати комп'ютер, котрий увійшов у систему як корінь весь час, це як завжди носити з собою всі ваші ключі, паспорт, 5000 доларів готівкою, той папір з усіма написаними на ньому вашими паролями та єдине фото, яке ви маєте з Флопсі, чарівного кролика, якого смерть розбила ваше семирічне серце. Ой, і бензопилою.

Що говорити, час від часу це може бути зручно, адже це означає, що ви можете робити все, що завгодно, коли завгодно, без необхідності повертатися додому, щоб отримати речі або поспілкуватися зі своїм менеджером банку. Але це також наражає на вас велику небезпеку втратити речі, викравши їх (не думайте, що бензопила допоможе вам: ви будете вулиці подалі, перш ніж помітите, що ваш гаманець пішов), роблячи речі, про які ви дійсно пошкодуєте пізніше (купівля імпульсів квитки на літак до Вегасу, будучи в нетверезому стані), приймаючи небезпечні ярлики (бензопила через огорожу левового корпусу, тому що це найшвидший шлях до панд) і надмірно реагувати (ланцюгова розпилювання автомобіля вашого сусіда, тому що його собака занадто сильно гавкає). І, думаючи про це, здебільшого, ти просто збираєшся в офіс, їдеш за продуктовими магазинами, бавишся з друзями. Ви не ' не потрібно весь цей матеріал з вами весь час тільки для зручності його потребувати, що ?, раз на місяць? Раз на тиждень?

Отже, ні, не нормально постійно користуватися кореневим обліковим записом. Це дає вам невелику кількість зручності, але ставить вас у велику небезпеку. Існує небезпека дурних помилок, що призведуть до катастрофічних результатів ("Гей, чому rm -rf *так довго потрібно бігати? **** Я заходжу /!"). Існує небезпека приєднатись до думки про те, що всі файли рівні, і ви можете просто повозитися з усім, що завгодно, в будь-якому місці дерева дерев. Існує небезпека, що будь-який злом у вашому обліковому записі буде негайно зламом для всієї системи, тому тепер кожен програмний продукт на вашій машині є критично важливим для безпеки. І навіть якщо ви думаєте, що вам не байдуже, що ваша машина зламана (зрештою, фотографія Flopsy - справжній шматок глянсового паперу, а не якийсь ефемерний JPEG), я піклуйтеся про те, щоб ваша машина була зламана, оскільки тоді на ботнеті встановлено атаку DDOS проти будь-якої інтернет-служби, до якої я сьогодні не можу отримати доступ.

Корінь - ваш костюм павука. Це дає велику силу, але вимагає великої відповідальності. Він там у шафі, коли вам це потрібно, тому вам не доведеться його постійно носити.


54
Це було не лише цікавим і добре написаним твором, воно також звучить правдою і цілком заслуговує на прийняту відповідь
wrossmck

17
Я продовжую повертатися до цього. Це справжня порада з найбільшою кількістю гумору, яку ви можете вкласти в щось, і все-таки вважати це серйозним.
智障 的 人

19
@ 9000 Це не так з принаймні XP.
Девід Річербі

28
пов’язана смерть флопсії та бензопили?
Сірекс

29
"Корінь - ваш костюм павука". Я тут вмираю.
GeminiDomino

23

Можна, але це великий ризик для безпеки та стабільності. Це дозволяє будь-якій програмі повний доступ до вашого комп'ютера. Ви не можете знати, що вони роблять із цим доступом. Це непотрібно, і просто справді небезпечно.

Детальніше про цю інформацію див


Я видалив коментарі, оскільки вони насправді не додали до відповіді, можете продовжити обговорення в чаті?
nohillside

Дякуємо за правки Сподіваюся, це виправить певну плутанину щодо моєї посади.
Вільям Т Фроггард

17

Чесно кажучи, я погоджуюся, що існує багато ризиків, пов’язаних із використанням rootкористувача за замовчуванням. Але дозвольте мені просто пробігти їх і трохи критикувати деякі аргументи

  • Захист від програм : Практично система дозволів * nix недостатньо сильна (на сьогоднішній день), щоб дозволяти виконувати довільні програми. Зловмисна програма * nix здатна зробити достатню кількість злих дій (наприклад, викрасти ваші банківські дані) без кореневих дозволів. Для неприкладного програми буде дещо складніше, rootніж для rootпрограми (наприклад, замість того, щоб безпосередньо встановити root-сертифікат і перервати з'єднання з банком, вам потрібно буде замішати браузер замість цього, але ей, це насправді цілком можливо і вам, ймовірно, довелося це робити в будь-якому випадку, щоб користувач нічого не помітив)
  • Захист від помилок користувача (як, наприклад, неправильна команда та видалення всіх системних файлів) : Абсолютно вірно, але, незважаючи на те, що некористувач rootврятує систему, всі важливі файли, як правило, вже втрачаються (оскільки файлів, що належать користувачеві, набагато більше ймовірно, буде унікальним).
  • Захист від корисних помилок у запущених програмах: тепер це більше подобається. Наприклад, коли ви запускаєте веб-сервер, де багато додатків відкрито ззовні, і, таким чином, будь-які помилки, які можна експлуатувати, будуть легко досягти. Це все ж стосується, звичайно, навіть якщо ви сидите за маршрутизатором і брандмауером, хоча ступінь небезпеки набагато менш значна. Однак знову стає питанням, наскільки система дозволів реально захищатиме приватну систему. Без rootдозволів до всіх приватних файлів все ще можна отримати доступ, а також можливе перехоплення мережевих даних ... дві найважливіші речі, які ви можете побажати як зловмисник приватної системи.
    • (Тепер, понад стандартну систему дозволів на файли * nix, Apple також представила систему пісочниці додатків. Наскільки я знаю, вона все ще повністю функціонує, навіть якщо входити в систему як root. Якби це не було, тоді це було б загальний вимикач угод.)

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

У коментарях я придумав аналогію, яка видається цілком адекватною в описі ситуації. Голландською мовою є слово для маленької шафи, де ви можете знайти всі лічильники та перемикач для основного водопроводу тощо. Працювати так, як rootобліковий запис користувача - це як зняти замок із цього маленького шафи. Іронічний факт: Більшість людей в першу чергу не мають замків. Тепер, як і уrootкористувач, який не скаже, що не корисно його закривати в певних випадках, наприклад, в офісах або інших напівприбуткових будинках, які часто замикаються, але в звичайних будинках набагато важливіше мати міцний замок на вхідних дверях ( не встановлювати випадкові речі, брандмауер тощо) і не ставити всі ваші важливі речі в сейф (створення резервних копій, шифрування матеріалів тощо). Чи зашкодить додатковий замок у цій шафі? Ні, тому може бути гарною ідеєю встановити його на всякий випадок, але, швидше за все, це буде зовсім марно.

Працювати як rootкористувач - це не що інше, як брати всі замки вашого будинку та весь час носити з собою речі в сейфі, як стверджує Девід Річербі. Ваш паспорт (особистість) жодним чином не захищений файловою системою * nix, ваші гроші (банківський рахунок) жодним чином не захищені файловою системою * nix, ваші важливі паролі, ймовірно, не захищені файловою системою * nix (якщо ви використовуєте Safari, однак вони можуть бути частково захищені моделлю дозволу файлової системи * nix, але без цьогоroot ви можете додати невидиме розширення до Safari, а наступний раз перехоплювати пароль наступного разу, коли його використовуватимете), ваші фотографії, безумовно, не захищені файловою системою * nix, і якщо ви використовуєте термінал, ви вже перевозите бензопилу. навколо вас (за пунктом 2 вище).


2
Якщо ви спростуєте відповідь, будь ласка, вкажіть, що було б неправильним у моєму аналізі. Я прекрасно усвідомлюю, що моя відповідь трохи неортодоксальна, але я б очікував, що ІКТ буде достатньо прогресивним, що відповіді будуть судити за їх змістом, а не наскільки вони відповідають традиційним догмам.
Девід Малдер

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

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

2
@Caleb Існує величезна різниця між володінням будинком у мікрорайоні та запрошенням кого-небудь до себе. І до того моменту, коли хтось увійде до вашого будинку, мало що зупинить його на стандартних * nix системах. Ось що я описую у цій відповіді: Після того, як хтось увірветься у вашу систему, дозволи * файлової системи * nix не допоможуть, оскільки вони не захищають те, що ви вважаєте важливим для приватної системи. Єдине, що це (продовження)
Девід Малдер

3
Не маючи корінь, це не заважає, звичайно. Але це дещо інше твердження; як би я сказав "атака", а не "компроміс". Ви можете зробити набагато більше в мережі з root. Якщо ваша машина зомбі бере участь у простому потоці ICMP, для простого прикладу вам потрібен необроблений доступ до сокетів для створення цього трафіку ICMP (саме тому ping є suid root). Те саме стосується декількох інших корисних модифікацій шкідливих пакетів.
dannysauer

14

Ще близько 1990 року я працював над проектом з хлопцем на ім’я Том. Ми використовували сервер SUN під управлінням SunOS (похідна Unix, попередник Solaris). Це було ще за часів до компакт-дисків та флеш-дисків, тож якщо ви зіпсували ОС на жорсткому диску, не вдалося відновити.

Том звичайно входив у систему як root. Я сказав йому, що це погана ідея, але він не слухав. Одного разу я почув його, як він сказав "У-ох". Він мав намір набрати щось подібне:

mv something* .

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

Я скористався стрілкою вгору, щоб повернути попередню команду і побачив, що сталося. Перше, що я тоді сказав: "Не виходите з системи! Або ви ніколи не зможете знову увійти".

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

І тоді я сказав йому: "Томе, ось чому погана ідея регулярно входити в систему як корінь".


10

Як правило, ви хочете зберігати право власності на свої особисті файли окремо від кореневого користувача. Ось чому ви створюєте обліковий запис для себе як адміністратор. Прийнятим способом отримання доступу до кореневого рівня в OS X є використання sudoкоманди з програми Terminal. Наприклад, якщо ви хочете побачити розділення вашого внутрішнього диска, це команда

gpt -r show /dev/disk0

яка, якщо введена, призведе до наступного повідомлення про помилку.

gpt show: unable to open device '/dev/disk0': Permission denied

Для використання команди потрібно використовувати, sudoяк показано нижче.

sudo gpt -r show /dev/disk0

Якщо ви хочете стати користувачем root, щоб уникнути входу sudo, ви можете просто ввести sudo sh. exitКоманда може бути використана для виходу з є привілейованим користувачем.

Якщо ви хочете виконати програму як основний користувач, ви можете скористатися програмою Terminal. Наприклад, якщо ви хочете запустити Finder як користувач root, введіть наступну команду.

sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder &

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

osascript -e 'tell application "Finder" to quit'

Одне слово обережності: передувати команду з sudo- це не те саме, що стати користувачем root. Наприклад, команди

sudo echo $USER
sudo echo $SUDO_USER

приводять такий же вихід, що і команди, показані нижче.

echo $USER
echo $SUDO_USER

Якщо ви станете кореневим користувачем (суперпользователем), то ті ж команди призводять до іншого виводу. Це можна перевірити, ввівши вказані нижче команди.

sudo sh
echo $USER
echo $SUDO_USER
sudo echo $USER
sudo echo $SUDO_USER
exit

4

У випадку, якщо інші причини виявилися недостатньо хорошими ... Не забувайте, що ви не можете використовувати Homebrew як корінь (що насправді величезна біль). Інші програми також не дозволяють вам використовувати їх як root або зіткнутися з проблемами дозволів, коли ви це робите, часто без видимих ​​причин, оскільки їхні програмісти припускають, що вони не будуть запускатися як root. Я думаю, що Steam - одна з них.

Також приємно, щоб усі системи та користувальницькі дані були розділені з різних причин.

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


4

Лише кілька прикладів, чому не нормально завжди працювати як root:

  • Користувач root може легко розміщувати файли в місцях, які набагато складніше відстежити.
  • Користувач Root має необмежений доступ до інтерфейсів, і тому він може перевести інтерфейс у розмитий або моніторний режим та записувати ВСІ мережевий трафік.
  • Користувач Root має необроблений доступ до вузлів пристрою і може обмітати диск, що робить його набагато складніше відновити файли, ніж простий 'rm' на рівні користувача. Користувач Root також може потенційно змінювати завантажувальні сектори накопичувача, роблячи зловмисне програмне забезпечення стійким навіть після перевстановлення операційної системи.

Я міг би продовжувати. Справа в тому, що Є достатньо вагомих причин не працювати як root. Я не погоджуюсь з тим, що для більшості людей їхні найбільш особисті дані в будь-якому випадку є в їх домашньому каталозі, але запущена система root все-таки ставить ці дані та всю систему на більшу небезпеку. Порада не запускатись як root не помиляється. Якщо людина не розуміє наслідків бігу як корінних, вони точно не повинні цього робити. Запропонувати щось інше - безвідповідально.


1

Якщо ви не використовуєте backtrack / kali для конкретного завдання: НІ. Ставтеся до суперкористувача як до завантаженого пістолета: якщо у вас є негайна потреба і намір використовувати його: OK. Якщо ви можете вирішити свою проблему будь-яким іншим способом (наприклад, "судо"), зробіть це.


0

НЕМАЄ! Це призведе до розбиття вашої системи за дуже короткий час. Натомість, suабо sudoв корені, якщо потрібно. Якщо ви абсолютно, позитивно, повинні запускатися як root, принаймні, вийти з системи в будь-який час, коли ви не використовуєте комп'ютер. Якщо ваша система може працювати в розрахованому на багато користувачів, але ні один користувач не налаштований, я пропоную вам створити адміністратор (тобто: один , який може sudo/ su. В корінь по мірі необхідності) якомога швидше !!!

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