Несподівано запустив “root-data: www-data / -R” як корінь


26

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

Поки єдиний каталог, через який він розпочався, - це /bin.

Я боюся робити щось інше. Поки я зрозумів, що більше не можу використовувати suяк свого звичайного користувача.

На щастя, у мене ще відкритий інший кореневий термінал. Що мені робити?


26
Звучить так, що тебе там порушили, друже.
ta.speot.is

4
Тепер ви розумієте важливість резервного копіювання. Робіть це регулярно.
Джуліано

Принаймні, він не chmod від root. Це повна катастрофа. Принаймні rm -rf з root дає більше дискового простору та готує вас до повного перевстановлення системи, chmod просто залишає справжній безлад, який важко відновити з-за чого-небудь, крім повної перевстановлення системи. Трава бура з обох боків огорожі, так?
Лабораторії Фіаско

Відповіді:


10

Більшість всього в / bin / має належати root: root, тому якщо ви запускаєте наступне, ви можете виправити право власності на ці файли:

chown root:root -R /bin/ 

Ви також можете переконатися, що встановлений біт правильно встановлено на / bin / su, що ви можете виправити за допомогою наступного:

chmod 4755 /bin/su

1
Для Ubuntu особливо важливо робити те ж саме із судо. Я не думаю, що пароль root навіть встановлений за замовчуванням? До речі, я б дуже рекомендував насправді використовувати судо замість кореневих оболонок. Півсекунди, необхідної для введення sudo, зазвичай зупиняє такі помилки у треках. Просто працювати в кореневій оболонці простіше пропустити ...
Бернд Хауг,

4
paste.ubuntu.com/362468 - це "ls -l / bin" з мого робочого столу Ubuntu 9.10. Хоча я, можливо, не встановив точно такі ж файли, як і ви, він повинен хоча б дати вам добру підказку щодо того, які файли потребують спеціальних дозволів.
andol

@Bernd: Хоча я не займаюся такою роботою адміністратора, я помітив, що мені подобається менше дурних речей, ніж я, як root. Я ніколи більше не можу використовувати пароль root. (І, ні, на Ubuntu немає пароля root, і я не думаю, що він є на MacOSX.)
Девід Торнлі,

@David: На OS X напевно немає пароля root, а встановлення одного з них - це помилка, IMO. Майже завжди є інший, кращий спосіб. Проблема полягає в тому, що Macs не надто захищений для початку; Я очікую побачити багато "веселощів", ​​коли у них буде більша база встановлення, щоб зробити клієнтів RK, Virii, Botnet & c вигідними.
Бернд Хауг

36

Користувач Redhat:

chown 0:0 /bin/rpm && rpm -qa | xargs rpm --setugids

Користувач Debian / Ubuntu:

chown 0:0 /bin/*  /usr/bin/*
chown daemon:daemon /usr/bin/at
chown 0:utmp /usr/bin/screen
chmod 02755 /usr/bin/screen
chmod u+s /bin/fusermount /bin/mount /bin/su /bin/mount
chmod u+s /usr/bin/sudo /usr/bin/passwd
screen

Поки екран працює, робіть це щонайменше двічі:

dpkg --get-selections | awk '{ if ($2 == "install") print $1}' \
    | xargs apt-get install --reinstall --

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

Курс аварії на екрані:

Control+A     - command key
Control+A a   - emit a control+A
Control+A n   - next "screen"
Control+A c   - create "screen"

Користувач Solaris:

Ви трахнули.

pkgchk -R / -f -a

скине всі дозволи, але setuid-ness все одно буде порушено. Використовуйте резервну копію або іншу машину solaris, щоб знайти встановлені / жорсткі сценарії та файли та виправити їх вручну.

ВАЖЛИВО, ЩО ПРО РЕКЛАМИ

Хіба що ти можеш їх відновити, а не те, що ти їх береш.

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


Користувач FreeBSD: ніколи б не помилився;)
einstiien

10
@einstiien Так, користувачі FreeBSD виходять прямо на rm -rfсцену.
grawity

@grawity: хаха, хороший.
einstiien

Бідні користувачі Solaris :(
Mircea Chirea

3

Майте на увазі, що встановлені прапори встановлені на будь-яких пошкоджених бінарних файлах, можливо, також були видалені; це особливість безпеки хауна. Зверніться до якоїсь іншої системи, які бінарні файли мають встановлені прапори set-uid або set-gid, і обов’язково встановіть їх у своїх бінарних файлах.


3

Я збирався пояснити подробиці використання RPM для скидання дозволів на файли, але знайшов сайт з набагато більшою інформацією . Він також згадує, що Ubuntu / Debian (так .debs взагалі) не підтримують його.

Але в цілому варіант, який ви шукаєте, був би таким:

rpm --setugids {packagename}

Це в системі ubuntu, на що вказують теги. Це означає, що dpkg та .DEB використовуються замість rpm та .RPM
Kevin M


0

у вас працює резервна копія? якщо так, відновіть свою папку.

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


0

спробуйте це: знайдіть всі www-дані в каталозі / bin

# find /bin -user www-data

потім поверніть www-дані назад до початкового користувача

# find /bin -user www-data -exec chown ORiginalUser {} \;

# then change www-data back to oringal group
# find /bin -group www-data -exec chgrp originaluser {} \;

0

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

/ bin / su працював колись chmod'd до 4755 (не впевнений, чому chown змінив біт suid)

Я не помічав, але він також почав працювати через / home каталог, але це було досить простим виправленням (просто встановіть користувача: групи для користувача на кожен dir)

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