Побоювання входу в систему як переоцінений корінь?


16

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

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


4
чому запускати як root? якщо ви дійсно не хочете вводити, sudoя б запропонував редагувати /etc/sudoersта додавати деякі команди як nopasswd (не всі), то у свій ~/.bashrc(або файл псевдоніму) додати aliases у sudo command. Це, мабуть, не є хорошою ідеєю, але це обмежить збиток, який ви можете зробити або заподіяли вам.
ксенотеррацид

11
Рівень ворожнечі в цій нитці трохи хвилює; це законне питання. Так, весь час запускати як root - це погана ідея, але не потрібно з цього перегортатись
Michael Mrozek

5
@Mrozek: Погоджено. Тепер я ніколи не даватиму корінний пароль OP жодній системі, над якою я мав контроль, але руйнування системи, ввівши неправильну річ, може бути дуже навчальною. Можливо, написання ОП "Поки я ніколи не мав жодних проблем з цим" дізнається щось корисне, як, наприклад, те, що все може відбутися вперше.
Девід Торнлі

2
Я думаю, це підсумовує, чому б не: unix.stackexchange.com/questions/502/…
Алекс Б

3
Запропонувати аналогію з автомобілем: це як їхати без ременів безпеки. Можливо, але потенційно смертельно.
інвертувати

Відповіді:


33

З тих же причин, чому кожен демон повинен мати мінімальні права. Apache може працювати як root. Він призначений для виконання одного завдання і напевно нічого поганого не може статися?

Але припустимо, що апаш не є помилкою. Час виявляють помилок. Іноді це може бути навіть довільне виконання коду чи подібне. Тепер, коли Apache працює як root, він може отримати доступ до будь-чого - наприклад, він може завантажити rootkit в ядро ​​і приховати себе.

З іншого боку, писати руткіт на рівні користувача дуже важко. Він повинен перекрити різні програми (наприклад ps) всередині /home, що може викликати підозру через додатковий дисковий простір, який використовується. Він може не знати точної конфігурації і забуде включити, наприклад, gnome-system-monitorоголюючи себе. Вона повинна охоплювати bash, tcshі будь-яку оболонку ви вирішили використовувати (щоб почати себе). Доведеться працювати з різними конфігураціями, а не "просто" переосмислювати купу зворотних викликів.

Врахуйте, що не так давно було виявлено довільне виконання коду, виявлене в ... Adobe Reader.

Інша причина - помилки користувача. Краще попередити перед тим, як стерти весь диск однією командою.

Третя причина - різні оболонки. Коренева оболонка повинна бути встановлена ​​на /той випадок, якщо необхідно виконати порятунок системи. Оболонки користувачів можуть бути встановлені на /usr(наприклад, користувач може використовувати zsh).

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

П'ята причина полягає в тому, що /rootне слід знаходитись на окремому розділі, поки /homeможна (і слід). Маючи /homeокремий допомагає з різних причин.

ТАКОЖ : ЧОМУ НЕ ВИКОРИСТОВУЄТЬСЯ як НОРМАЛЬНИЙ КОРИСТУВАЧ. Частіше вам не потрібно мати права root, ніж це робити. Це дуже мало витрат на безпеку.


3
Той факт, що, як root, ddможе робити все, що завгодно на будь-якому блоковому пристрої в системі, в поєднанні з тим, що root може зробити багато заплутаних, навмисних та ненавмисних, з ядрами та системними речами в / dev та / proc, повинно бути достатньо, щоб переконати когось не працювати як root, якщо не потрібно.
LawrenceC

29

Ви також можете їздити на мотоциклі в оголеному вигляді, і нічого не може статися. Але я думаю, що ви почуватимете себе краще, коли б ви розбили велосипед ...


7
можливо, але подумайте про почуття, яке ви отримаєте решту часу!
Сірекс

12

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

Думка: якщо вас запитують кореневий пароль під час звичайного використання вашої системи (тобто, не встановлюючи пакунки чи якісь інші завдання системного адміністрування), ви робите це неправильно .


+1, щоб нагадати мені кілька старих вражень. Або це має бути -1, щоб повернути їх назад?
Девід Торнлі

5
Я ніколи не розумів, чому люди вважають, що використання судо перешкоджає заманювати команди. Остання система, яку я взяв кілька років тому, була судо рм -рф / dir / робота.
Сірекс

4

Ні, це не завищено. На практиці це найбільше недооцінюється. :-)

Наприклад, моя маленька команда працює на пристрої RHEL для роботи з розробки: створення будівельних матеріалів, тестування тощо. Усі користуються індивідуальними обліковими записами користувачів, але ми також ділимося кореневим паролем, оскільки люди час від часу потребують цього для швидких завдань системи. Це також призвело до того, що нам вдалося кілька разів шлангувати ОС за короткий термін експлуатації. Хтось, будуючи певну версію libc, нерозумно видалив систему libcrmвиклик. В іншому цікавому інциденті таблиця розділів відсутня. (Гаразд, це не мало нічого спільного з привілеями.) Залишається команда заблокована до виправлення розриву. Одне рішення - мати когось добровольця, який би вирішив завдання системного управління. До цього часу ми не надто піклувались, окрім того, щоб дозволити людям вивчати свої уроки: всім нам потрібні відбитки зубів на задніх кінцях, і це відносно недорогі позначки на зубах.

Дійсно цікаві, можливо, захочуть дотримуватися принципу найменшої привілею , і прочитати статтю Кена Томпсона "Роздуми про довіру довіри". ("Мораль очевидна. Ви не можете довіряти коду, який ви повністю не створили самі.")


3

Підбираючи ваш коментар до іншої відповіді

але Linux - це свобода, включаючи свободу знищувати власні дані, конфіденційність та безпеку

Навіть примушуючи людей sudo, Linux пропонує цю свободу. Цілий аргумент безпеки, який ви хочете уникати, полягає в тому, щоб захистити вас від речей - це не ви (читайте: шкідливі програми чи програми, якими керують зловмисники).

Подумайте про це як на ремені безпеки. Використовує секунду. Може врятувати життя від інших ідіотів там (як і ви самі).

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

Якщо ви щасливі, знаючи, що навіть щось таке хитре, як Flash, може переформатувати ваш комп'ютер, тут ніхто не піклується про те, що ви робите. Запустити як корінь.


2
Не лише шкідливі програми, але й баггі (наприклад, в системі збирання ядра в будь-якій точці була помилка, яка сприймала вашу систему, якщо ви виконували компіляцію ядра як root)
Spudd86,

2

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


Технічно комп'ютер із коренем як основним користувачем теоретично може бути захищений ...
Maciej Piechotka

3
@Maciej єдиний захищений комп'ютер відключений від мережі, укладений у бетон на дні озера.
ксенотеррацид

Як зазначав Мітнік, хтось може дістати його за межами озера, розбити бетон і підключити (о, він лише сказав, що хтось може підключити відключений комп'ютер за допомогою соціотехніки, але принцип той самий). Я намагався бути обережним, щоб використовувати "технічно" і "теоретично" - також поганий замок краще, ніж замок. Наприклад, я вважаю свою теперішню систему достатньо захищеною, незважаючи на відсутність на ній SELinux;)
Мацей П'єхотка,

@Marciej добре безпека стосується аналізу витрат та ризиків. ви ніколи не ставите більше безпеки навколо чогось, ніж чогось того варті.
ксенотеррацид

1
@Marciej, і якщо це нічого не варто, то немає сенсу вкладати в нього будь-яку безпеку, в цей момент вразливість не має значення.
ксенотеррацид

1

Ви говорите про ОС, яка є спільним зусиллям незліченних людей. Якщо ви не запускаєте нічого, крім стабільного програмного забезпечення, ви МОЖЕТЕ бути в безпеці на час.

Як вже згадувалося раніше, ви здивуєтеся, як маленька річ може скинути весь ваш HD. У перший рік я спробував запустити в root багато, тому що, ще за часів Fedora-ядра 3, було не так багато фантазійних способів адмініструвати свою систему від користувача.

У той час я зробив невелику редакцію xorg, не створюючи резервної копії, тому що не думав, що це зашкодить. Робочий стіл зник. Потім я спробував це виправити вручну, але не міг точно зрозуміти, що я зробив. Пізніше я подумав, що, можливо, я можу перевстановити свої драйвери та робочий стіл, але ненароком відключив мій ethernet, оскільки це також була nvidia.

Уперше запускаючи Arch, я ігнорував попередження про створення користувача і деякий час працював адміністратором. Я встановив пакет від AUR, який мені потрібен, і після перезавантаження, вся моя установка була розбита.

Оскільки я працював в корені, виправлення цих проблем стало набагато гіршим, ніж потрібно було.

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

EDIT: О ... і деякі програми, як-от WINE, явно не повинні працювати в кореневому середовищі. http://wiki.winehq.org/FAQ#head-96bebfa287b4288974de0df23351f278b0d41014


1

Причини безпеки - вразливість демона або скрипта, націлена на Linux, матиме владу Sysadmin над вашою системою.

Працюючи як простий користувач І використовуючи sudo, це значно відрізняється за рівнем безпеки. Мій Firefox працює як мій користувач, тому будь-яка вразливість Firefox потрапить лише на мій рахунок. Більш нічого.


0

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


-4

Я не бачу жодної великої проблеми входу в систему як root для звичайного сеансу, доки ви не зробите нічого дурного.

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


8
чи використання веб-браузера є чимось дурним?
ксенотеррацид

4
@xenoterracide: Я б сказав, що ви робите щось дурне, якщо ви ввійшли як root.
Девід Торнлі

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