LINUX.ORG.RU

Защита от патча Бармина

 , ,


1

2

Недавно я пошёл гулять с заряжённым револьвером, взвёл курок и пихнул его в карман с кучей монет. Клинический случай.

# du -hs /tmp/dl
ДОХРЕНА
# ls /tmp/dl
ненужно ненужно ненужно
# rm *
# cd /tmp/dl, конечно, сделать забыл. Благо, винт медленный и среагировал я неожиданно быстро, так что пострадать успели лишь несколько свежих скриншотов. Но тред не о том, как, что и зачем я буду выковыривать из выхлопа echo dump_unused| sudo debugfs /dev/sda6, и не о том, как бы вынуть руки из жопы и засунуть их в то же здание, только с другой стороны — а о том, как бы сделать защиту от прослойки между штанами и клавиатурой.

Первая мысля — сделать аналог детекта обращения по нуллпоинтеру, хорошо и справедливо уринированного недавно пиар-группой гонимой здесь PVS-Studio:

$ touch 00
$ sudo chown root 00
$ sudo chmod 000 00
Под юзером работает неблохо, rm * стопорит на подумать. А вот руту пофиг. Как сделать, чтобы даже под рутом слало нафиг?

Кхем.

man rm:
 -i prompt before every removal
 -I prompt once before removing more than three files, or when
 removing recursively; less intrusive than -i, while still giving
 protection against most mistakes
man rmtrash:
 Put files (and directories) in trash using the trash-put command in a way
 that is, otherwise as trash-put itself, compatible to GNUs rm and rmdir.
commagray ★★★★★
()
Последнее исправление: commagray (всего исправлений: 1)

rm -I, либо zsh, в котором можно включить уже готовые костыли для таких случаев. Хотя и для bash никто не мешает написать функцию с проверкой на подобные аргументы.

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

О, в первую очередь тыкался насчёт тёплого лампового досовского undelete, но ls /usr/bin/*undel* сделать не подумал. Только мануал какой-то непонятный, он после запуска побежит восстанавливать всё подряд, что ли?

bodqhrohro_promo
() автор топика
Ответ на: комментарий от deep-purple

Плюсую. И завернуть все это в алиас.

В общем-то да, но -f тоже на автомате добавляться может начать...

AS ★★★★★
()

alias rm=«rm -i»
в центосе так изкаробки
я строго в mc удаляю

handbrake ★★★
()
Последнее исправление: handbrake (всего исправлений: 1)
Ответ на: комментарий от CYB3R

Цимес-то в том, что основная утраченная информация — имена файлов; большинство содержимого легко восстановить из внешних источников, осталось только вспомнить, каких. А имена ext3 вроде удаляет как раз сразу с концами, разве что из журнала можно достать, но его слить я вовремя не осилил. Так что --restore-file не конает, а остальное слишком кропотно или слишком пушкоповоробьямно.

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

я для рекурсивных удалений gnu find юзаю. Хотя б заранее можно глянуть, что грохну перед тем, как реально его запускать

find <dir> -print 

find <dir> -print -delete
demidrol ★★★★★
()
Ответ на: комментарий от Nao

Вы нам подходите! Хомяк спасён от дальнейших посягательств!

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