• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

вопрос про удаление логов

tyjkkhgddghjhvdss3688655

Заблокирован
09.07.2020
16
2
BIT
0
Всем привет, у меня есть вопрос. Можно ли как-нибудь восстановить логи после этой команды?
Код:
echo > /var/log/apache2/access.log
Если можно то как?
 

pasha

Заблокирован
03.07.2020
7
0
BIT
0
Если можно то как?

Лог - это файл на диске, востановить удаленный файл можно специальными программами. Процесс стирания файла- это затирание заголовка файла остальные данные сохраняются до тех пор пока этот участок не перезапишется другим файлом. Так что все зависит от времени которое прошло после стирания. Если давно удалено, то большая вероятность что на этом месте уже другие данные. Есть примочки для безопасного стирания, которые при удалении сначала затирают данные а потом затираю заголовок.
 

f22

Codeby Academy
Gold Team
05.05.2019
1 940
228
BIT
1 774
Парень, о каком файле идет речь? Команда echo > /var/log/apache2/access.log не удаляет никаких файлов....
Не удаляет, но перезаписывает пустой строкой входящий файл.
Восстановить такие данные уже не получится.
 

igarytsh

Member
10.07.2020
8
0
BIT
0
Не удаляет, но перезаписывает пустой строкой входящий файл.
Восстановить такие данные уже не получится.
Я бы не был так категоричен при таких пагонах :) Все зависи от реализации процесса обнуления логфайла. На уровне системных API есть только удаление или установление нового размера. Мало вероятно, что если лог 500 мегасов то после обнуления он остается 500 мегабайтной пустой строкой. В тоже время установка нового размера - это всего лишь перезапись данных заголовка диска. Предположительно обнуление делается записью в начало файла парочки пробелов и изменение размера в 2 байта. Так, что воставновить такой файл вполне возможно.


Парень, о каком файле идет речь? Команда echo > /var/log/apache2/access.log не удаляет никаких файлов....
Если ты не видишь файла это не значит что его нет. Если уже у открытого файла изменить размер до нуля, то это мало отличается от удаления в смысле логики, а не реализации.
 

f22

Codeby Academy
Gold Team
05.05.2019
1 940
228
BIT
1 774
Хм, интересно. Любопытно услышать мнение f22 на этот счет.

Я бы не был так категоричен при таких пагонах :) Все зависи от реализации процесса обнуления логфайла. На уровне системных API есть только удаление или установление нового размера. Мало вероятно, что если лог 500 мегасов то после обнуления он остается 500 мегабайтной пустой строкой. В тоже время установка нового размера - это всего лишь перезапись данных заголовка диска. Предположительно обнуление делается записью в начало файла парочки пробелов и изменение размера в 2 байта. Так, что воставновить такой файл вполне возможно.
Дело тут даже не в реализации "процесса обнуления", речь-то идёт о логах, которые не пишутся на диск одним куском, а записываются по мере накопления.
Только представьте, как эти 500 мегабайт были раскиданы на диске, а первые байты затёрты программой echo.
Учитывайте ещё тот факт, что Linux пишет ± 10 Гб в сутки, простейшие вычисления дадут вам порядка 7 Мб в минуту. 7 минут и этот файл уже будет затёрт.
 

igarytsh

Member
10.07.2020
8
0
BIT
0
Только представьте, как эти 500 мегабайт были раскиданы на диске, а первые байты затёрты программой echo.

Несмотря на то, что файл может состоять из множества кластеров разбросанных по диску(я понимаю намек на это) логически это один объект и любые действия применяются ко всей совокупности сразу. К тому же дефрагментирование диска сейчас осуществляется системой. Поэтому большая вероятность, что все кластеры файла большого размера будут выстроены в один ряд. Так что шанс востановить обнуленный большой логфайл остается. В любом случае востановление данных на диске очень не простая работа.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!