Тема: TOCTOU
Показать сообщение отдельно
  #5  
Старый 30.05.2023, 14:21
Alexey Khromov
Guest
 
Сообщений: n/a
По умолчанию TOCTOU

Alexey Khromov написал(а) к Nil A в May 23 12:56:06 по местному времени:

Здраствуйте, Nil!

NA> Вот тебе домашнее задание. Зайди в эху в годеде, нажми новое собщение,
NA> сотри джам базу (не знаю какой именно файл, .jhr/.jdt/.jdx, лениво
NA> смотреть по стрейсу или по коду, хедер наверное), и запости сообщение
NA> - оно запоститься на ура. ОС линукс, если что. Потому что под
NA> линуксом, как и под другими никсами, можно прям стереть файл, и df не
NA> покажет, что место уже освободилось, кернел потом освободит, как на
NA> иноду больше никто ссылаться не будет.

Базу удалил, голдед не отрыгнув записал мессагу в файл, которого больше нет, при открытии повторно эхи - пересоздал эху.
проверить, что файло открыто достаточно легко:

[fido@fido local]$ lsof -u fido | grep msgbase
gedlnx 525503 fido 4u REG 0,37 256 16234 /var/spool/ftn/msgbase/local/VYBORG.local.sqd
gedlnx 525503 fido 5u REG 0,37 0 16235 /var/spool/ftn/msgbase/local/VYBORG.local.sqi
bash 525766 fido cwd DIR 0,37 534 5581 /var/spool/ftn/msgbase/local
lsof 525833 fido cwd DIR 0,37 534 5581 /var/spool/ftn/msgbase/local
grep 525834 fido cwd DIR 0,37 534 5581 /var/spool/ftn/msgbase/local
lsof 525835 fido cwd DIR 0,37 534 5581 /var/spool/ftn/msgbase/local
[fido@fido local]$

соответственно и пурджить можно проверяя, не открыт ли файл) если уж совсем пытаться все предусмотреть.


Alexey Khromov
--- GoldED+/LNX 1.1.5-b20230304
Ответить с цитированием