LINUX.ORG.RU
ФорумTalks

для тех кто любит сидеть под рутом


0

0

вот знакомый только что плакался в асе. случайно запустил под рутом такую команду:

root@sr [/home/logos/public_html]# rm -rf backup /*

теперь говорит: root@sr [/home/logos/public_html]# ls / -bash: /bin/ls: No such file or directory

и это не на локальной машине, а на сервачке удаленном. ну теперь слово "удаленном" можно понимать во всех смыслах =)

вот такие бывают убийственные пробелы =)


Да, я тоже, когда только начинал с линуксом возится, учился rpm делать, ещё не знал, что его можно в свою папку вынести, записал команду на чистку установочной папки, как

rm -rf . /

Только сообразил вовремя, успел ^C нажать и /home уцелел. И это был мой комп. Так что отделался лёким испугом. :)

atrus ★★★★★
()

Есть люди, для которых законы не писаны. Аминь.

qsloqs ★★
()

По своему опыту знаю: отучить от сиденья под рутом не так-то просто по двум причинам:

1. рут может монтировать CD, floppy и производить кучу других операций _без дополнительной настройки_.

2. на вопрос "почему это опасно" отвечаешь, что любая ошибка может привести к значительным повреждениям системы и слышишь в ответ: "А я не буду делать ошибок, буду работать внимательно".

Однако rm -rf /* опасно даже при запуске от непривилегированного пользователя. /home/<user> начнёт удаляться сразу, задержки благодаря удалению /bin /etc не будет, C-c нажать не успеешь.

pv4 ★★
()
Ответ на: комментарий от pv4

>1. рут может монтировать CD, floppy и производить кучу других операций _без дополнительной настройки_.

А pmount нафига? Только не говори, что это доплнительная настройка - "из коробки" работает

anonymous
()

так, пытаюсь помочь знакомому восстановить сервак. /usr уцелел. rpm жив, wget тоже. но не хочет никуда коннектится, из за удаленного /etc/resolv.conf.

echo "nameserver x.x.x.x" > /etc/resolv.conf не проходит потому что /etc/ не существует. а mkdir в удаленной /bin/mkdir

какие еще варианты?

ref
() автор топика
Ответ на: комментарий от ref

>так, пытаюсь помочь знакомому восстановить сервак. /usr уцелел. rpm жив, wget тоже. но не хочет никуда коннектится, из за удаленного /etc/resolv.conf.

>echo "nameserver x.x.x.x" > /etc/resolv.conf не проходит потому что /etc/ не существует. а mkdir в удаленной /bin/mkdir

>какие еще варианты?

А по IP приконнектиться не судьба?

anonymous
()
Ответ на: комментарий от anonymous

хех! точно =)) вот мозг заклинило =)

ref
() автор топика

update: rpm все таки сдох. есть zip, bunzip. tar'a нет. wget по IP работает.

есть идейки как федору оживить?

ref
() автор топика

Ну и носит же свет бакланов..

MiracleMan ★★★★★
()
Ответ на: комментарий от ref

Накитить бакапы файловых систем и распаковать на месте..

MiracleMan ★★★★★
()

нашел решение =) я со своего сервачка выложил ему бинакрки из /bin в public_html сейчас качает =)

ref
() автор топика
Ответ на: комментарий от pv4

> рут может монтировать CD, floppy и производить кучу других операций _без дополнительной настройки_.

OMFG, до сих пор CD, флешки монтируют руками? 8-() Или пользуются флопарями?

atrus ★★★★★
()
Ответ на: комментарий от ref

> я со своего сервачка выложил ему бинакрки из /bin в public_html сейчас качает =)

Интересно, а пермишшоны тоже wget выставит? ;-)

atrus ★★★★★
()
Ответ на: комментарий от atrus

а вот в это как раз он и уперся. chmod покоится с миром. ну он уже решил растаться с денюжкой за реинсталл ОС в ДЦ =)

ref
() автор топика
Ответ на: комментарий от ref

> а вот в это как раз он и уперся.

Там кажется tar жив... So...

Хотя я всё равно не понимаю, как поднимать /etc/* особенно всякие passwd, shadow... Разве что он там один пользователь был. :)

atrus ★★★★★
()

а я помнится sudo с паролем старательно вчепятывал для mkfs на не тот раздел... =)

Так что не в руте дело, а в chroot'е ;))))

magesor ★☆
()
Ответ на: комментарий от atrus

>Там кажется tar жив... So...

никак нет, tar в /usr/bin находится, и он как я понял первым на раздачу пошел. по крайней мере у меня в убунте в /usr/bin лежит

ref
() автор топика
Ответ на: комментарий от atrus

>Разве что он там один пользователь был. :)

да эт веб сервер у него был, так что с passwd etc. думаю проблем не было бы

ref
() автор топика
Ответ на: комментарий от ref

> а вот в это как раз он и уперся. chmod покоится с миром. ну он уже решил растаться с денюжкой за реинсталл ОС в ДЦ =)

Если проблемы только в этом, то /lib/ld-linux.so.2 /path/to/chmod +x /path/to/chmod и у тебя есть работающий chmod.

Teak ★★★★★
()
Ответ на: комментарий от ref

> tar в /usr/bin находится, и он как я понял первым на раздачу пошел.

tar можно, в конце концов, залить отдельно и пускать по полному пути. А scp там нет что-ли? Или оно тоже в /bin?

watashiwa_daredeska ★★★★
()
Ответ на: комментарий от magesor

А я тарил на раздел... В первые дни знакомства с эхотагом, я по виндовой привычке результат tar-а писал _на диск_.

Xellos ★★★★★
()

google -> lfs

Помнится я один такой "удаленный" поднимал с наполовину грохнутыми /usr и /usr/local иерархиями, а все благодаря "-o ro /usr/backup" и статически слинкованным утилкам в нем, включая bash, cp, chmod, tar и все остальное.

Предусмотрительность - великая штука...

Gharik
()

_Всегда_ _внимательно_ читайте _как_ вы пишите команду rm и _где_ вы в этот момент находитесь.

birdie ★★★★★
()

Ну, чтож с Новым годом! :) А по существу, сервак надо гасить ссылаясь на таракана в куллере и накатывать систему по новой, а не херомантией заниматься.

mutronix ★★★★
()
Ответ на: комментарий от ref

> есть идейки как федору оживить?

Ставь генту, федора непатрикоугодна :)

mutronix ★★★★
()

/ и /boot надо монтировать как RO!

/ и /boot надо монтировать как RO!

/ и /boot надо монтировать как RO!

Shaman007 ★★★★★
()
Ответ на: комментарий от no-dashi

А что с ним не так? /usr тоже должен быть RO. Вообще, все RO кроме /tmp /var, /home, /opt и специальных файловых систем (/proc, /dev, /system).

Shaman007 ★★★★★
()
Ответ на: комментарий от Shaman007

> А что с ним не так? /usr тоже должен быть RO. Вообще, все RO кроме /tmp /var, /home, /opt и специальных файловых систем (/proc, /dev, /system).

/home тоже RO, нехай в /var/tmp пишут. И /opt RO, и эта... что такое /system?

Gharik
()
Ответ на: комментарий от Shaman007

>Вообще, все RO кроме

А про noexec - какие соображения будут?

Вообще, что говорят [рекомендации | опыт_использования | здравый_смысл] про создание отдельных разделов для монтирования их как /, /usr, /home, /vat, /tmp итд со своими опциями?

ЗЫ: Всех с наступающим!!!! :)

grinn ★★
()
Ответ на: комментарий от grinn

Ну было время, когда я все разбивал, монтировал /boot / как RO, /usr как RO noatime, /var с noexec, /tmp с noatime и noexec :-) Работало.

Shaman007 ★★★★★
()
Ответ на: комментарий от birdie

> _Всегда_ _внимательно_ читайте _как_ вы пишите команду rm и _где_ вы в этот момент находитесь.

Еще _очень_ полезен автокомплишн

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

>Еще _очень_ полезен автокомплишн

Он очень зависит от shell, я тоже так недавно сервер с tru64 в продакшн сдал, юзеры начали туда мигрировать со старого севера, а мне надо было грохнуть все видимые файлы в хоумдир одного юзера (vasya), ну я стоя в /home и сделал rm -rf va<TAB> * (автокомплишн, сука, поставил слэш после имени и пробел добавил)

получилось rm -rf vasya/<пробел>*

Убил все хомедиры, благо их там пока было порядка 8 и все пустые я их быстро восстановил, но очко сыграло.

sdio ★★★★★
()
Ответ на: комментарий от sdio

Есть такое дело, тренирую себя сначала думать, а потом уже жать Enter. :) Хотя иногда на автомате всё же жмётся, хотя вроде уже заметил, что что-то не так. :)

Teak ★★★★★
()
Ответ на: комментарий от Teak

Мне кажется в случае удаления как никогда полезным может быть визуализация (mc). Все-таки зрительное восприятие - доходчиво.

sin_a ★★★★★
()
Ответ на: комментарий от sdio

> Убил все хомедиры, благо их там пока было порядка 8 и все пустые я их быстро восстановил, но очко сыграло.

Это да, не везде sh = GNU bash, и далеко не везде vi = правильному vi =) Почтим память невинно убиенной Соляры минутой молчания.

Gharik
()
Ответ на: комментарий от Shaman007

> А что с ним не так?

А с ним не так /etc/passwd. Который правится при его вызове. Только не говори что ты паролей не меняешь...

no-dashi ★★★★★
()
Ответ на: комментарий от grinn

> А про noexec - какие соображения будут?

А про /lib/ld-linux.so /path/to/any/binary слышали? :-)

no-dashi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.