"Chown -R root", наскільки я накручений?


9

Я випадково виконав команду chown -R root /, намагаючись змінити дозволи в загальнодоступній папці мого додатка rails. Я вважав, що це змінило дозволи на всі мої папки в каталозі /. Отже, моє запитання полягає в тому, наскільки це небезпечно, насправді краще питання, чи все-таки це можна скасувати?


3
Це неможливо відмінити автоматично, і так, це має значний вплив на вашу систему (включаючи, але не обмежуючись ними, різні домашні каталоги). Я сподіваюся, що у вас є нещодавнє резервне копіювання. Удачі.
Фредерік Хаміді

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

Також прочитайте чудову пораду нижче, яка означає "не реагуйте жодним чином, що погіршило б її" і "не вважайте найгіршим". Або запам’ятайте ці важливі загальні кроки щодо усунення несправностей, використовуючи версію жарту: Аварійний оператор: "Не панікуйте, чи впевнений, що ваш друг загинув?" Абонент: БАНГ "Так, на жаль, він мертвий".
мінопрет

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

Ви виконали цю команду як корінь? (Сподіваюсь, що ні ...)
Аксель

Відповіді:


7

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

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

Напр

777*0*0*S*16*1334559119*1334532895*1361208513*/usr/lib32/*libgomp.so.1
644*0*0*F*67370*1359536382*1359374461*1359717843*/usr/lib32/*librt.a
644*0*0*F*59044*1334559119*1334532931*1355405098*/usr/lib32/*libgomp.so.1.0.0
644*0*0*F*1238*1359536382*1359374461*1359717843*/usr/lib32/*libBrokenLocale.a
777*0*0*S*17*1359536382*1359374460*1361208513*/usr/lib32/*libdl.so
644*0*0*F*905712*1334559116*1334533011*1355405098*/usr/lib32/*libstdc++.so.6.0.16
777*0*0*S*15*1333306601*1323929512*1361208513*/usr/lib32/*libbz2.so.1.0
777*0*0*S*24*1359536382*1359374460*1361208513*/usr/lib32/*libnss_files.so
644*0*0*F*1128*1359536382*1359374462*1359717843*/usr/lib32/*crt1.o

RWX * UID * GID * інші речі * каталог * ім'я файлу


5

Перш за все, зупиніть команду, якщо вона все ще працює!

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

Спробуйте відновити інформацію з останньої резервної копії.

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

Удачі.


3

Дуже і не зовсім.

"Дуже" в тому сенсі, що якщо команда дійсно пройшла, ваша безпека прикручується. Ви тепер не знаєте, які шляхи мають, які власники і кому слід дозволити робити що.

"Не зовсім" в сенсі - ви впевнені, що ви вкоренилися, коли це зробили, і команда пройшла до кінця? Якщо ви скасували його, як тільки побачили, то, можливо, вам пощастить, і ремонт може бути низьким. Якщо ви не були root, ця команда не повинна була б виконати її, якщо ви не зробили щось подібне sudo ....

Єдиного засобу проти цього немає. Якщо у вас є резервна копія, ви можете відновити її. Можливо, вам доведеться перевірити право власності на резервну копію та застосувати їх. Якщо ви використовували перевірку rootkit (скажімо, rkhunter), у нього може бути список найосновніших прав власності і, можливо, ви зможете його виправити. (Не зовсім ймовірно).


2

Принаймні, у Fedora команда RPM має параметри --setpermsі --setugids, використовуючи ті, ви можете виправити більшість файлів, що належать системі rpm --setugids -a. Щоб (дещо) виправити файли для кожного користувача, ви можете зробити їх для кожного chown -R user /home/user. Ймовірно, будуть залишки, які не були виправлені вище, особливо якщо у вас є якийсь сервер (web, ftp, інші), з ними доведеться обробляти по черзі.

Можливо, інші розподіли мають подібні механізми. Або повне оновлення (тобто, встановити всі заново, як це було якимось - то чином пошкоджено. Добре, це було якимось - то чином пошкоджено.)

[Так, це знову ж таки досить жорстокий спосіб Unix навчити користувачів, що не підозрюють користувачів, уважно розглядати кожну команду перед натисканням клавіші ENTER і використовувати корінний порядок . Вважайте себе вченим.]


setuidі setgidдозволи потрібно встановити вручну. rpmне відновить їх.
jnas

1

Якщо ваше використання OSX Apple забезпечує функцію відновлення в Disk Utilities, щоб виправити цю проблему. Якщо ви використовуєте дистрибутив Linux, я впевнений, що вам доведеться повторно редагувати всі дозволи вручну. В будь-якому випадку поплескуйте руки і не робіть цього знову


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

0

На жаль, я не знаю жодного способу "скасувати" це, але ви, ймовірно, можете залишити системні файли як власні root, і відновити всі файли у вашому $ HOME, щоб вони були вами (і це зробити так само для всіх користувачів система). У цей момент ви можете виправити дозволи та / або власника на кожному файлі, який не знаходиться у вашому каталозі $ HOME, який потребує його під час появи. Так, це біль, але я не думаю, що це легко виправити. Це я все одно зробив би.


0

Я б сказав, що ви досить "накручені", як ви говорите. Найкращий спосіб (і найефективніший) - це перевстановлення та відновлення критичних елементів із ваших хороших резервних копій. Вибачте, це не така ситуація, яка, як правило, швидко виправляється із задоволенням. Щасти!

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